commit
						30df2ea8b6
					
				
				 11 changed files with 139 additions and 175 deletions
			
			
		| @ -1,142 +1,142 @@ | |||||||
| "use strict"; | 'use strict' | ||||||
| const path = require("path"); | const path = require('path') | ||||||
| const defaultSettings = require("./src/settings.js"); | const defaultSettings = require('./src/settings.js') | ||||||
| 
 | 
 | ||||||
| function resolve(dir) { | function resolve(dir) { | ||||||
|     return path.join(__dirname, dir); |   return path.join(__dirname, dir) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| const name = defaultSettings.title || "星油能源调度管理平台"; | const name = defaultSettings.title || '星油能源调度管理平台' | ||||||
| const port = 9528; | const port = 9528 | ||||||
| 
 | 
 | ||||||
| module.exports = { | module.exports = { | ||||||
|     publicPath: "./", |   publicPath: './', | ||||||
|     outputDir: "dist", |   outputDir: 'dist', | ||||||
|     assetsDir: "./static", |   assetsDir: './static', | ||||||
|     lintOnSave: process.env.NODE_ENV === "development", |   lintOnSave: process.env.NODE_ENV === 'development', | ||||||
|     productionSourceMap: false, // 改为false可一定程度上解决浏览器f12查看到源码的问题
 |   productionSourceMap: false, // 改为false可一定程度上解决浏览器f12查看到源码的问题
 | ||||||
|     devServer: { |   devServer: { | ||||||
|         disableHostCheck: true, |     disableHostCheck: true, | ||||||
|         port: port, |     port: port, | ||||||
|         overlay: { |     overlay: { | ||||||
|             warnings: false, |       warnings: false, | ||||||
|             errors: true |       errors: true | ||||||
|         }, |  | ||||||
|         proxy: { |  | ||||||
|             [process.env.VUE_APP_BASE_API]: { |  | ||||||
|                 // target: "http://uat.xingoil.com/adminapi",
 |  | ||||||
|                 // target: 'https://www.xingoil.com/adminapi',
 |  | ||||||
|                 target: `http://192.168.0.27:38080`, |  | ||||||
|                 changeOrigin: true, |  | ||||||
|                 pathRewrite: { |  | ||||||
|                     ["^" + process.env.VUE_APP_BASE_API]: "" |  | ||||||
|                 } |  | ||||||
|             }, |  | ||||||
|             [process.env.VUE_APP_UPLOAD_URL]: { |  | ||||||
|                 target: `http://192.168.0.31:38080`, |  | ||||||
|                 changeOrigin: true, |  | ||||||
|                 pathRewrite: { |  | ||||||
|                     ["^" + process.env.VUE_APP_BASE_API]: "" |  | ||||||
|                 } |  | ||||||
|             }, |  | ||||||
|             [process.env.VUE_APP_BASE_LSM_API]: { |  | ||||||
|                 target: `http://121.41.3.91:8085`, |  | ||||||
|                 changeOrigin: true, |  | ||||||
|                 pathRewrite: { |  | ||||||
|                     ["^" + process.env.VUE_APP_BASE_LSM_API]: "" |  | ||||||
|                 } |  | ||||||
|             } |  | ||||||
|         } |  | ||||||
|     }, |     }, | ||||||
|     configureWebpack: { |     proxy: { | ||||||
|         name: name, |       [process.env.VUE_APP_BASE_API]: { | ||||||
|         resolve: { |         // target: "http://uat.xingoil.com/adminapi",
 | ||||||
|             alias: { |         // target: 'https://www.xingoil.com/adminapi',
 | ||||||
|                 "@": resolve("src") // 别名。开启后@表示src下目录
 |         target: `http://192.168.0.22:38080`, | ||||||
|             } |         changeOrigin: true, | ||||||
|         }, |         pathRewrite: { | ||||||
|         externals: { |           ['^' + process.env.VUE_APP_BASE_API]: '' | ||||||
|             "./cptable": "var cptable", |         } | ||||||
|             AMap: "AMap" |       }, | ||||||
|  |       [process.env.VUE_APP_UPLOAD_URL]: { | ||||||
|  |         target: `http://192.168.0.31:38080`, | ||||||
|  |         changeOrigin: true, | ||||||
|  |         pathRewrite: { | ||||||
|  |           ['^' + process.env.VUE_APP_BASE_API]: '' | ||||||
|  |         } | ||||||
|  |       }, | ||||||
|  |       [process.env.VUE_APP_BASE_LSM_API]: { | ||||||
|  |         target: `http://121.41.3.91:8085`, | ||||||
|  |         changeOrigin: true, | ||||||
|  |         pathRewrite: { | ||||||
|  |           ['^' + process.env.VUE_APP_BASE_LSM_API]: '' | ||||||
|         } |         } | ||||||
|  |       } | ||||||
|  |     } | ||||||
|  |   }, | ||||||
|  |   configureWebpack: { | ||||||
|  |     name: name, | ||||||
|  |     resolve: { | ||||||
|  |       alias: { | ||||||
|  |         '@': resolve('src') // 别名。开启后@表示src下目录
 | ||||||
|  |       } | ||||||
|     }, |     }, | ||||||
|     chainWebpack(config) { |     externals: { | ||||||
|         config.plugins.delete("preload"); // TODO: need test
 |       './cptable': 'var cptable', | ||||||
|         config.plugins.delete("prefetch"); // TODO: need test
 |       AMap: 'AMap' | ||||||
|         config.entry.app = ["babel-polyfill", "./src/main.js"]; |     } | ||||||
|         // set svg-sprite-loader
 |   }, | ||||||
|         config.module |   chainWebpack(config) { | ||||||
|             .rule("svg") |     config.plugins.delete('preload') // TODO: need test
 | ||||||
|             .exclude.add(resolve("src/icons")) |     config.plugins.delete('prefetch') // TODO: need test
 | ||||||
|             .end(); |     config.entry.app = ['babel-polyfill', './src/main.js'] | ||||||
|         config.module |     // set svg-sprite-loader
 | ||||||
|             .rule("icons") |     config.module | ||||||
|             .test(/\.svg$/) |       .rule('svg') | ||||||
|             .include.add(resolve("src/icons")) |       .exclude.add(resolve('src/icons')) | ||||||
|             .end() |       .end() | ||||||
|             .use("svg-sprite-loader") |     config.module | ||||||
|             .loader("svg-sprite-loader") |       .rule('icons') | ||||||
|             .options({ |       .test(/\.svg$/) | ||||||
|                 symbolId: "icon-[name]" |       .include.add(resolve('src/icons')) | ||||||
|             }) |       .end() | ||||||
|             .end(); |       .use('svg-sprite-loader') | ||||||
|  |       .loader('svg-sprite-loader') | ||||||
|  |       .options({ | ||||||
|  |         symbolId: 'icon-[name]' | ||||||
|  |       }) | ||||||
|  |       .end() | ||||||
| 
 | 
 | ||||||
|         if (process.env.use_analyzer) { |     if (process.env.use_analyzer) { | ||||||
|             // 分析
 |       // 分析
 | ||||||
|             config |       config | ||||||
|                 .plugin("webpack-bundle-analyzer") |         .plugin('webpack-bundle-analyzer') | ||||||
|                 .use(require("webpack-bundle-analyzer").BundleAnalyzerPlugin); |         .use(require('webpack-bundle-analyzer').BundleAnalyzerPlugin) | ||||||
|         } |     } | ||||||
| 
 | 
 | ||||||
|         // set preserveWhitespace
 |     // set preserveWhitespace
 | ||||||
|         config.module |     config.module | ||||||
|             .rule("vue") |       .rule('vue') | ||||||
|             .use("vue-loader") |       .use('vue-loader') | ||||||
|             .loader("vue-loader") |       .loader('vue-loader') | ||||||
|             .tap(options => { |       .tap(options => { | ||||||
|                 options.compilerOptions.preserveWhitespace = true; |         options.compilerOptions.preserveWhitespace = true | ||||||
|                 return options; |         return options | ||||||
|             }) |       }) | ||||||
|             .end(); |       .end() | ||||||
| 
 | 
 | ||||||
|         config; |     config | ||||||
|         // https://webpack.js.org/configuration/devtool/#development.when(process.env.NODE_ENV === 'development', config => config.devtool('cheap-source-map'))
 |     // https://webpack.js.org/configuration/devtool/#development.when(process.env.NODE_ENV === 'development', config => config.devtool('cheap-source-map'))
 | ||||||
| 
 | 
 | ||||||
|         config.when(process.env.NODE_ENV !== "development", config => { |     config.when(process.env.NODE_ENV !== 'development', config => { | ||||||
|             config |       config | ||||||
|                 .plugin("ScriptExtHtmlWebpackPlugin") |         .plugin('ScriptExtHtmlWebpackPlugin') | ||||||
|                 .after("html") |         .after('html') | ||||||
|                 .use("script-ext-html-webpack-plugin", [ |         .use('script-ext-html-webpack-plugin', [ | ||||||
|                     { |           { | ||||||
|                         // `runtime` must same as runtimeChunk name. default is `runtime`
 |             // `runtime` must same as runtimeChunk name. default is `runtime`
 | ||||||
|                         inline: /runtime\..*\.js$/ |             inline: /runtime\..*\.js$/ | ||||||
|                     } |           } | ||||||
|                 ]) |         ]) | ||||||
|                 .end(); |         .end() | ||||||
|             config.optimization.splitChunks({ |       config.optimization.splitChunks({ | ||||||
|                 chunks: "all", |         chunks: 'all', | ||||||
|                 cacheGroups: { |         cacheGroups: { | ||||||
|                     libs: { |           libs: { | ||||||
|                         name: "chunk-libs", |             name: 'chunk-libs', | ||||||
|                         test: /[\\/]node_modules[\\/]/, |             test: /[\\/]node_modules[\\/]/, | ||||||
|                         priority: 10, |             priority: 10, | ||||||
|                         chunks: "initial" // only package third parties that are initially dependent
 |             chunks: 'initial' // only package third parties that are initially dependent
 | ||||||
|                     }, |           }, | ||||||
|                     elementUI: { |           elementUI: { | ||||||
|                         name: "chunk-elementUI", // split elementUI into a single package
 |             name: 'chunk-elementUI', // split elementUI into a single package
 | ||||||
|                         priority: 20, // the weight needs to be larger than libs and app or it will be packaged into libs or app
 |             priority: 20, // the weight needs to be larger than libs and app or it will be packaged into libs or app
 | ||||||
|                         test: /[\\/]node_modules[\\/]_?element-ui(.*)/ // in order to adapt to cnpm
 |             test: /[\\/]node_modules[\\/]_?element-ui(.*)/ // in order to adapt to cnpm
 | ||||||
|                     }, |           }, | ||||||
|                     commons: { |           commons: { | ||||||
|                         name: "chunk-commons", |             name: 'chunk-commons', | ||||||
|                         test: resolve("src/components"), // can customize your rules
 |             test: resolve('src/components'), // can customize your rules
 | ||||||
|                         minChunks: 3, // minimum common number
 |             minChunks: 3, // minimum common number
 | ||||||
|                         priority: 5, |             priority: 5, | ||||||
|                         reuseExistingChunk: true |             reuseExistingChunk: true | ||||||
|                     } |           } | ||||||
|                 } |         } | ||||||
|             }); |       }) | ||||||
|             config.optimization.runtimeChunk("single"); |       config.optimization.runtimeChunk('single') | ||||||
|         }); |     }) | ||||||
|     } |   } | ||||||
| }; | } | ||||||
|  | |||||||
					Loading…
					
					
				
		Reference in new issue