1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- const { cdn, getProxyOfDomain, getProxyOfIp } = require('./config')
- module.exports = {
- parallel: false,
- productionSourceMap: false,
- outputDir: 'page_big_pc',
- publicPath: process.env.VUE_APP_BASE_PUBLIC,
- lintOnSave: true,
- devServer: {
- disableHostCheck: true,
- headers: {
- 'Access-Control-Allow-Origin': '*'
- },
- proxy: getProxyOfDomain('https://web2-jytest.jydev.jianyu360.com') || getProxyOfIp('http://127.0.0.1')
- },
- css: {
- loaderOptions: {
- sass: {
- prependData: '@import "@/assets/style/_mixin.scss";@import "@/assets/style/_variables.scss";'
- }
- }
- },
- chainWebpack: config => {
- // single-spa
- if (!process.env.VUE_APP_ALONE) {
- if (process.env.NODE_ENV === 'production') {
- // 生产环境配置
- config.externals([
- 'vue',
- 'vue-router',
- 'vuex',
- 'axios',
- 'lodash',
- 'moment'
- ])
- config.plugin('html').tap(args => {
- // html中添加cdn
- args[0].cdn = cdn
- return args
- })
- // config.output.filename('./js/[name].[chunkhash:8].js')
- config.output.filename = function (pathData) {
- return pathData.chunk.name === 'app' ? './js/[name].js' : './js/[name].[chunkhash:8].js';
- };
- config.output.chunkFilename('./js/[name].[chunkhash:8].js');
- // config.output.chunkFilename = function (pathData) {
- // console.log(JSON.stringify(pathData.chunk), '11')
- // return pathData.chunk.name === 'app' ? './js/[name].js' : './js/[name].[chunkhash:8].js';
- // };
- config.optimization.minimize(true)
- .minimizer('terser')
- .tap(args => {
- let { terserOptions } = args[0];
- terserOptions.compress.drop_console = true;
- terserOptions.compress.drop_debugger = true;
- return args
- });
- } else {
- config.devServer.set('inline', false)
- config.devServer.set('hot', true)
- config.output.filename('js/[name].js')
- }
- }
- // 分析静态资源
- if (process.env.use_analyzer) {
- config
- .plugin('webpack-bundle-analyzer')
- .use(require('webpack-bundle-analyzer').BundleAnalyzerPlugin)
- }
- },
- filenameHashing: false
- }
|