Эх сурвалжийг харах

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

Book Pauk 5 жил өмнө
parent
commit
13efd50d80

+ 20 - 0
build/includer.js

@@ -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');
+}

+ 5 - 0
build/webpack.base.config.js

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