我正在使用webpack构建一个vue应用程序。现在我必须将应用程序部署到生产服务器,我觉得需要为开发和生产案例设置不同的设置(例如,应用程序必须为每种类型更改api服务的主URL)。在阅读了一些指南后,我还没有明确如何实现这一目标。
我想做的是当我跑步时:
npm run dev
我应该使用development.env中的环境变量,当我运行时:
npm run build
应该使用production.env中的环境变量。
是否可以通过webpack实现这一目标?
干杯。
你可以使用webpack-cli和--env
允许你根据需要传递manu环境变量。
在您的构建脚本中传递此:
--env.PLATFORM=production
例如,在webpack配置中的任何位置,您需要将module.exports
转换为函数:
module.exports = env => {
if (env.PLATFORM === 'production') {
return {
entry: './src/index.js',
output: {
filename: 'bundle.js',
path: path.resolve(__dirname, 'dist')
}
};
}
但对于生产和开发,我建议制作不同的webpack配置文件:
webpack.prod.config.js
webpack.dev.config.js
稍后您可以在构建脚本中传递--config webpack.prod.config.js
。通常对于webpack中的env
来说,合并webpack配置的不同部分针对不同的环境