【发布时间】:2018-08-21 19:07:03
【问题描述】:
当我运行我的 Vue 应用程序时,控制台显示:
You are running Vue in development mode.
Make sure to turn on production mode when deploying for production.
See more tips at https://vuejs.org/guide/deployment.html
所以现在我想通过以下方式从我的模板中检查 Vue 是否正在开发中:
console.log("mode is " + process.env.NODE_ENV)
但这只会记录undefined
有没有其他方法可以在 Vue 中找到 NODE_ENV?
我的 webpack 配置有这部分:
if (process.env.NODE_ENV === 'production') {
module.exports.devtool = '#source-map'
// http://vue-loader.vuejs.org/en/workflow/production.html
module.exports.plugins = (module.exports.plugins || []).concat([
new webpack.DefinePlugin({
'process.env': {
NODE_ENV: '"production"'
}
}),
new webpack.optimize.UglifyJsPlugin({
sourceMap: true,
compress: {
warnings: false
}
}),
new webpack.LoaderOptionsPlugin({
minimize: true
})
])
}
也许相关:我使用打字稿,所以我包含了这个类型声明:
declare var process: {
env: {
NODE_ENV: string
}
}
【问题讨论】:
-
快速提问,为什么要从 Vue 组件中查看环境?这仅与服务器端渲染方法相关。通常,运行 Vue 构建会生成一个包含静态文件的 dist 文件夹。因此检查环境是没有用的。
-
我认为
new webpack.DefinePlugin({ process: JSON.stringify(process) })和DefinePlugin会做到这一点。 -
@Imre_G 我只想在开发环境中工作时预填表单字段。部署站点时,不应预先填写表单字段。
-
您如何在开发和生产模式下捆绑代码?
标签: typescript webpack vue.js