我遇到了让VueJS2(2.2.0)在生产模式下运行的问题。消息“您正在开发模式下运行Vue”。总是出现在控制台中,即使我在生产模式下使用webpack构建它。根据https://vuejs.org/v2/guide/deployment.html的说法,它应该足以在生产模式下运行webpack并且所有东西都在缩小,所以webpack似乎“知道”它正在生产模式下运行,但是vueJs并没有发挥作用。
我的webpack配置如下所示:
let webpack = require('webpack');
let path = require('path');
module.exports = {
entry: {
app: './src/app.js',
vendor: ['vue', 'axios']
},
output: {
path: path.resolve(__dirname, 'public/js'),
filename: "[name].js",
publicPath: './public',
},
optimization: {
splitChunks: {
cacheGroups: {
vendor: {
chunks: 'initial',
name: 'vendor',
test: /[\\/]node_modules[\\/]/,
}
}
}
},
resolve: {
alias: {
vue: 'vue/dist/vue.js'
}
}
};
为了构建我的缩小文件进行制作,我运行:
webpack --mode=production --hide-modules
我还尝试在运行webpack(4.11.1)之前手动将NODE_ENV设置为“production”,但没有区别......
我在这里错过了什么?
设置别名vue/dist/vue.js
时,您使用的文件始终处于开发模式。将您的别名更改为vue/dist/vue.min.js
,您将处于生产模式。
您可以设置Vue的版本以匹配您的构建环境。此示例假定process.env.NODE_ENV
设置为production
用于生成构建,因此您需要确保使用此示例确实如此。
...
resolve: {
alias: {
vue: process.env.NODE_ENV == 'production' ? 'vue/dist/vue.min.js' : 'vue/dist/vue.js'
}
}
请参阅this Github issue以供参考。