浏览代码

修复知识库打不开

kuaifan 5 年之前
父节点
当前提交
9e4ad1f145

+ 4 - 7
package.json

@@ -14,18 +14,15 @@
     "devDependencies": {
         "axios": "^0.19.2",
         "cross-env": "^7.0.2",
-        "css-loader": "^3.5.3",
+        "css-loader": "^0.28.7",
         "jquery": "^3.5.1",
-        "laravel-mix": "^5.0.4",
+        "laravel-mix": "^2.0",
         "lodash": "^4.17.15",
-        "resolve-url-loader": "^3.1.1",
-        "sass": "^1.26.5",
-        "sass-loader": "^8.0.2",
         "stylus": "^0.54.7",
         "stylus-loader": "^3.0.2",
         "vue": "^2.6.11",
-        "vue-loader": "^15.9.2",
-        "vue-router": "^3.2.0",
+        "vue-loader": "^13.5.0",
+        "vue-router": "^3.3.2",
         "vue-style-loader": "^4.1.2",
         "vue-template-compiler": "^2.6.11"
     },

二进制
resources/assets/sass/fonts/-_Ctzj9b56b8RgXW8FAriQzyDMXhdD8sAj6OAJTFsBI.woff2


二进制
resources/assets/sass/fonts/QAUlVt1jXOgQavlW5wEfxQLUuEpTyoUstqEm5AMlJo4.woff2


二进制
resources/assets/sass/fonts/STBOO2waD2LpX45SXYjQBQsYbbCjybiHxArTLjt7FRU.woff2


二进制
resources/assets/sass/fonts/YZaO6llzOP57DpTBv2GnyFKPGs1ZzpMvnHX-7fPOuAc.woff2


二进制
resources/assets/sass/fonts/ZKwULyCG95tk6mOqHQfRBAsYbbCjybiHxArTLjt7FRU.woff2


二进制
resources/assets/sass/fonts/xkvoNo9fC8O2RDydKj12bwzyDMXhdD8sAj6OAJTFsBI.woff2


+ 78 - 3
webpack.mix.js

@@ -21,13 +21,88 @@ mix.js('resources/assets/js/main/app.js',       'js/app.js');
 //生成css样式文件
 mix.sass('resources/assets/sass/app.scss',      'css');
 
+
 //配置webpack
 mix.webpackConfig({
     output: {
-        hashDigestLength: 32,
-        chunkFilename: 'js/build/[name].js?[hash]',
+        // 路由懒加载文件路径
+        chunkFilename: 'js/build/[name].js?[hash:8]',
     },
-    devServer:{
+    devServer: {
         disableHostCheck: true,
+    },
+    module: {
+        rules: [{
+            // 图片资源保存路径规则
+            test: /(\.(png|jpe?g|gif)$|^((?!font).)*\.svg$)/,
+            loaders: [
+                {
+                    loader: 'file-loader',
+                    options: {
+                        name: path => {
+                            path = path.replace(/\\/g, '/');
+                            // 自定义部分
+                            try {
+                                if (/\/resources\/assets\//.test(path)) {
+                                    let file = path.substring(path.indexOf('/resources/assets/') + '/resources/assets/'.length);
+                                    if (file) {
+                                        if (file.substring(0, 3) === 'js/') file = 'pages/' + file.substring(3);
+                                        if (file.substring(0, 7) === 'images/') file = file.substring(7);
+                                        return 'images/' + file + '?[hash:8]'
+                                    }
+                                }
+                            } catch (e) { }
+                            // 系统定义部分
+                            if (!/node_modules|bower_components/.test(path)) {
+                                return (
+                                    Config.fileLoaderDirs.images + '/[name].[ext]?[hash:8]'
+                                );
+                            }
+                            return (
+                                Config.fileLoaderDirs.images + '/vendor/' + path.replace(
+                                    /((.*(node_modules|bower_components))|images|image|img|assets)\//g,
+                                    ''
+                                ) + '?[hash:8]'
+                            );
+                        },
+                        publicPath: Config.resourceRoot
+                    }
+                }, {
+                    loader: 'img-loader',
+                    options: Config.imgLoaderOptions
+                }
+            ]
+        }, {
+            // 字体资源保存路径规则
+            test: /(\.(woff2?|ttf|eot|otf)$|font.*\.svg$)/,
+            loader: 'file-loader',
+            options: {
+                name: path => {
+                    path = path.replace(/\\/g, '/');
+                    // 自定义部分
+                    try {
+                        if (/\/resources\/assets\//.test(path)) {
+                            let file = path.substring(path.indexOf('/resources/assets/') + '/resources/assets/'.length);
+                            if (file) {
+                                if (file.substring(0, 3) === 'js/') file = 'pages/' + file.substring(3);
+                                if (file.substring(0, 7) === 'fonts/') file = file.substring(7);
+                                return 'fonts/' + file + '?[hash:8]'
+                            }
+                        }
+                    } catch (e) { }
+                    // 系统定义部分
+                    if (!/node_modules|bower_components/.test(path)) {
+                        return Config.fileLoaderDirs.fonts + '/[name].[ext]?[hash:8]';
+                    }
+                    return (
+                        Config.fileLoaderDirs.fonts + '/vendor/' + path.replace(
+                            /((.*(node_modules|bower_components))|fonts|font|assets)\//g,
+                            ''
+                        ) + '?[hash:8]'
+                    );
+                },
+                publicPath: Config.resourceRoot
+            }
+        }]
     }
 });