Добавлен универсальный includer для включения файлов в исходник

This commit is contained in:
Book Pauk
2020-02-09 16:43:36 +07:00
parent 6fb091d20f
commit 13efd50d80
2 changed files with 25 additions and 0 deletions

20
build/includer.js Normal file
View File

@@ -0,0 +1,20 @@
const path = require('path');
const fs = require('fs');
exports.default = function includer(source) {
const lines = source.split('\n');
let result = [];
for (const line of lines) {
const trimmed = line.trim();
const m = trimmed.match(/^@@[\s]*?include[\s]*?\(['"](.*)['"]\)/);
if (m) {
const includedFile = path.resolve(path.dirname(this.resourcePath), m[1]);
const fileContent = fs.readFileSync(includedFile, 'utf8');
result.push(fileContent);
} else {
result.push(line);
}
}
return result.join('\n');
}

View File

@@ -16,6 +16,11 @@ module.exports = {
test: /\.vue$/,
loader: "vue-loader"
},
{
test: /\.includer$/,
resourceQuery: /^\?vue/,
use: path.resolve('build/includer.js')
},
{
test: /\.js$/,
loader: 'babel-loader',