const path = require('path');
const resolve = (dir) => {
return path.join(__dirname, dir);
};
let pubPath = './';
switch (process.env.NODE_ENV_ONE) {
case 'location':
pubPath = './';
break;
case 'production':
pubPath = 'https://cdn.yizhiniao.com/companyWebsiteMobile/';
break;
case 'development':
pubPath = 'https://cdntest.yizhiniao.com/companyWebsiteMobile/';
break;
}
const version = 'v-001';
const proxy = process.env.NODE_ENV !== 'production' ? 'https://test.yizhiniao.com/api' : 'https://www.yizhiniao.com/api';
module.exports = {
publicPath: pubPath,
outputDir: 'dist',
assetsDir: 'static',
lintOnSave: process.env.NODE_ENV !== 'production',
runtimeCompiler: false,
productionSourceMap: false,
filenameHashing: false,
integrity: false,
devServer: {
port: '8082',
hot: true,
proxy: {
'/api': {
target: proxy,
changeOrigin: true,
secure: false,
pathRewrite: {
'^/api': ''
}
}
}
},
// chainWebpack是直接修改内置的webpack配置项 configureWebpack是合并webpack默认的配置项
chainWebpack: (config) => {
config.plugins.delete('prefetch');
config
.module
.rule('images')
.test(/\.(jpg|png|gif)$/)
.use('url-loader')
.loader('url-loader')
.options({
limit: 10,
esModule: false,
// publicPath: pubPath,
outputPath: 'static/img',
name: `[name].${version}.[ext]`
})
.end();
},
css: {
extract: {
filename: `static/css/[name].${version}.css`,
chunkFilename: `static/css/[name].${version}.css`
},
sourceMap: false
},
configureWebpack: (config) => {
Object.assign(config, {
output: {
...config.output,
filename: `static/js/[name].${version}.js`,
chunkFilename: `static/js/[name].${version}.js`
}});
config.resolve = {
extensions: ['.js', '.vue', '.json', '.css'], // 引用文件时不需要加后缀
alias: {
'@': resolve('src')
}
};
}
};