|
@@ -1,134 +1,134 @@
|
|
|
-'use strict'
|
|
|
-const path = require('path')
|
|
|
-
|
|
|
-function resolve(dir) {
|
|
|
- return path.join(__dirname, dir)
|
|
|
-}
|
|
|
-
|
|
|
-const CompressionPlugin = require('compression-webpack-plugin')
|
|
|
-
|
|
|
-const name = process.env.VUE_APP_TITLE || '若依管理系统'
|
|
|
-
|
|
|
-const port = process.env.port || process.env.npm_config_port || 80
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-module.exports = {
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- publicPath: process.env.NODE_ENV === "production" ? "/" : "/",
|
|
|
-
|
|
|
- outputDir: 'dist',
|
|
|
-
|
|
|
- assetsDir: 'static',
|
|
|
-
|
|
|
- lintOnSave: process.env.NODE_ENV === 'development',
|
|
|
-
|
|
|
- productionSourceMap: false,
|
|
|
-
|
|
|
- devServer: {
|
|
|
- host: '0.0.0.0',
|
|
|
- port: port,
|
|
|
- open: true,
|
|
|
- proxy: {
|
|
|
-
|
|
|
- [process.env.VUE_APP_BASE_API]: {
|
|
|
- target: `http://localhost:8080`,
|
|
|
- changeOrigin: true,
|
|
|
- pathRewrite: {
|
|
|
- ['^' + process.env.VUE_APP_BASE_API]: ''
|
|
|
- }
|
|
|
- }
|
|
|
- },
|
|
|
- disableHostCheck: true
|
|
|
- },
|
|
|
- css: {
|
|
|
- loaderOptions: {
|
|
|
- sass: {
|
|
|
- sassOptions: { outputStyle: "expanded" }
|
|
|
- }
|
|
|
- }
|
|
|
- },
|
|
|
- configureWebpack: {
|
|
|
- name: name,
|
|
|
- resolve: {
|
|
|
- alias: {
|
|
|
- '@': resolve('src')
|
|
|
- }
|
|
|
- },
|
|
|
- plugins: [
|
|
|
-
|
|
|
- new CompressionPlugin({
|
|
|
- cache: false,
|
|
|
- test: /\.(js|css|html)?$/i,
|
|
|
- filename: '[path].gz[query]',
|
|
|
- algorithm: 'gzip',
|
|
|
- minRatio: 0.8
|
|
|
- })
|
|
|
- ],
|
|
|
- },
|
|
|
- chainWebpack(config) {
|
|
|
- config.plugins.delete('preload')
|
|
|
- config.plugins.delete('prefetch')
|
|
|
-
|
|
|
-
|
|
|
- config.module
|
|
|
- .rule('svg')
|
|
|
- .exclude.add(resolve('src/assets/icons'))
|
|
|
- .end()
|
|
|
- config.module
|
|
|
- .rule('icons')
|
|
|
- .test(/\.svg$/)
|
|
|
- .include.add(resolve('src/assets/icons'))
|
|
|
- .end()
|
|
|
- .use('svg-sprite-loader')
|
|
|
- .loader('svg-sprite-loader')
|
|
|
- .options({
|
|
|
- symbolId: 'icon-[name]'
|
|
|
- })
|
|
|
- .end()
|
|
|
-
|
|
|
- config.when(process.env.NODE_ENV !== 'development', config => {
|
|
|
- config
|
|
|
- .plugin('ScriptExtHtmlWebpackPlugin')
|
|
|
- .after('html')
|
|
|
- .use('script-ext-html-webpack-plugin', [{
|
|
|
-
|
|
|
- inline: /runtime\..*\.js$/
|
|
|
- }])
|
|
|
- .end()
|
|
|
-
|
|
|
- config.optimization.splitChunks({
|
|
|
- chunks: 'all',
|
|
|
- cacheGroups: {
|
|
|
- libs: {
|
|
|
- name: 'chunk-libs',
|
|
|
- test: /[\\/]node_modules[\\/]/,
|
|
|
- priority: 10,
|
|
|
- chunks: 'initial'
|
|
|
- },
|
|
|
- elementUI: {
|
|
|
- name: 'chunk-elementUI',
|
|
|
- test: /[\\/]node_modules[\\/]_?element-ui(.*)/,
|
|
|
- priority: 20
|
|
|
- },
|
|
|
- commons: {
|
|
|
- name: 'chunk-commons',
|
|
|
- test: resolve('src/components'),
|
|
|
- minChunks: 3,
|
|
|
- priority: 5,
|
|
|
- reuseExistingChunk: true
|
|
|
- }
|
|
|
- }
|
|
|
- })
|
|
|
-
|
|
|
- config.optimization.runtimeChunk('single'),
|
|
|
- {
|
|
|
- from: path.resolve(__dirname, './public/robots.txt'),
|
|
|
- to: './'
|
|
|
- }
|
|
|
- })
|
|
|
- }
|
|
|
-}
|
|
|
+'use strict'
|
|
|
+const path = require('path')
|
|
|
+
|
|
|
+function resolve(dir) {
|
|
|
+ return path.join(__dirname, dir)
|
|
|
+}
|
|
|
+
|
|
|
+const CompressionPlugin = require('compression-webpack-plugin')
|
|
|
+
|
|
|
+const name = process.env.VUE_APP_TITLE || '若依管理系统'
|
|
|
+
|
|
|
+const port = process.env.port || process.env.npm_config_port || 80
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+module.exports = {
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ publicPath: process.env.NODE_ENV === "production" ? "/" : "/",
|
|
|
+
|
|
|
+ outputDir: 'dist',
|
|
|
+
|
|
|
+ assetsDir: 'static',
|
|
|
+
|
|
|
+ lintOnSave: process.env.NODE_ENV === 'development',
|
|
|
+
|
|
|
+ productionSourceMap: false,
|
|
|
+
|
|
|
+ devServer: {
|
|
|
+ host: '0.0.0.0',
|
|
|
+ port: port,
|
|
|
+ open: false,
|
|
|
+ proxy: {
|
|
|
+
|
|
|
+ [process.env.VUE_APP_BASE_API]: {
|
|
|
+ target: `http://localhost:8080`,
|
|
|
+ changeOrigin: true,
|
|
|
+ pathRewrite: {
|
|
|
+ ['^' + process.env.VUE_APP_BASE_API]: ''
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ disableHostCheck: true
|
|
|
+ },
|
|
|
+ css: {
|
|
|
+ loaderOptions: {
|
|
|
+ sass: {
|
|
|
+ sassOptions: { outputStyle: "expanded" }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ configureWebpack: {
|
|
|
+ name: name,
|
|
|
+ resolve: {
|
|
|
+ alias: {
|
|
|
+ '@': resolve('src')
|
|
|
+ }
|
|
|
+ },
|
|
|
+ plugins: [
|
|
|
+
|
|
|
+ new CompressionPlugin({
|
|
|
+ cache: false,
|
|
|
+ test: /\.(js|css|html)?$/i,
|
|
|
+ filename: '[path].gz[query]',
|
|
|
+ algorithm: 'gzip',
|
|
|
+ minRatio: 0.8
|
|
|
+ })
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ chainWebpack(config) {
|
|
|
+ config.plugins.delete('preload')
|
|
|
+ config.plugins.delete('prefetch')
|
|
|
+
|
|
|
+
|
|
|
+ config.module
|
|
|
+ .rule('svg')
|
|
|
+ .exclude.add(resolve('src/assets/icons'))
|
|
|
+ .end()
|
|
|
+ config.module
|
|
|
+ .rule('icons')
|
|
|
+ .test(/\.svg$/)
|
|
|
+ .include.add(resolve('src/assets/icons'))
|
|
|
+ .end()
|
|
|
+ .use('svg-sprite-loader')
|
|
|
+ .loader('svg-sprite-loader')
|
|
|
+ .options({
|
|
|
+ symbolId: 'icon-[name]'
|
|
|
+ })
|
|
|
+ .end()
|
|
|
+
|
|
|
+ config.when(process.env.NODE_ENV !== 'development', config => {
|
|
|
+ config
|
|
|
+ .plugin('ScriptExtHtmlWebpackPlugin')
|
|
|
+ .after('html')
|
|
|
+ .use('script-ext-html-webpack-plugin', [{
|
|
|
+
|
|
|
+ inline: /runtime\..*\.js$/
|
|
|
+ }])
|
|
|
+ .end()
|
|
|
+
|
|
|
+ config.optimization.splitChunks({
|
|
|
+ chunks: 'all',
|
|
|
+ cacheGroups: {
|
|
|
+ libs: {
|
|
|
+ name: 'chunk-libs',
|
|
|
+ test: /[\\/]node_modules[\\/]/,
|
|
|
+ priority: 10,
|
|
|
+ chunks: 'initial'
|
|
|
+ },
|
|
|
+ elementUI: {
|
|
|
+ name: 'chunk-elementUI',
|
|
|
+ test: /[\\/]node_modules[\\/]_?element-ui(.*)/,
|
|
|
+ priority: 20
|
|
|
+ },
|
|
|
+ commons: {
|
|
|
+ name: 'chunk-commons',
|
|
|
+ test: resolve('src/components'),
|
|
|
+ minChunks: 3,
|
|
|
+ priority: 5,
|
|
|
+ reuseExistingChunk: true
|
|
|
+ }
|
|
|
+ }
|
|
|
+ })
|
|
|
+
|
|
|
+ config.optimization.runtimeChunk('single'),
|
|
|
+ {
|
|
|
+ from: path.resolve(__dirname, './public/robots.txt'),
|
|
|
+ to: './'
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
+}
|