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