vue项目中,process.env.NODE_ENV的值是什么时候设置的?有知?

vue项目中,process.env.NODE_ENV的值是什么时候设置的?有知?

阅读全文
请先 登录 后评论
  • 0 关注
  • 0 收藏 80 浏览
  • 略问用户 提出于 2020-10-22 17:35:04

11 个回答

xxxxxa
根据我这两天的探索得知,在node中,全局变量process表示的是当前的node进程,process.env包含着关于系统环境的信息,而env中并不存在NODE_ENV这个东西,NODE_ENV是用户自定义的变量,只不过vue官方(也是用户)给定义了两个值development和production来进行环境判断,我们自己也可以自定义其它变量去挂到env下面,比如BUILD_TARGET,然后给它自定义一些值比如alpha、beta、gamma等。而DefinePlugin这个插件是用来暴露这些全局变量的,这样我们就可以在项目代码中用到这些变量来进行环境判断了。
请先 登录 后评论
xxxxxa
Process翻译是什么 进程 vue有没有进程的说法呢 没有 是node的 是因为开了一个node进程 这个要从node下手
请先 登录 后评论
xxxxxa
linux 命令 export foo= bar;这样代码中可以得到 process.env.foo // 值是bar export foo = bar && node index.js 这样在node中就可以获得这个变量。 当然 webpack插件也可以解决~
请先 登录 后评论
xxxxxa
主要就是DefinePlugin来配置实现的,将node端的对象通过序列化挂到浏览器端运行时可以拿到
请先 登录 后评论
xxxxxa
一般是把NODE_ENV设置在多个env.js文件里,然后在构建的时候根据不同的打包命令跑不同的webpack.config.js,每个config引入对应的env.js,再用DefinePlugin定义成node全局变量,这样就实现不同的打包命令有不同的process.env.NODE_ENV了
请先 登录 后评论
xxxxxa
vscode搜索一下啊。一般在config里,你是用的架子吧。
请先 登录 后评论
xxxxxa
这个应该是node运行环境中所给的变量,运行了node,它应该就存在了,如果找设置地方,大体就在webpack根据你设置的运行指令去判断的,可以根据package.json指令的运行,一步步找对应的文件,应该能找到的
请先 登录 后评论
xxxxxa
node中,process是一个全局变量,global对象的属性。我第一次写脚手架项目也是蒙蔽,这东东哪里来的,在vue中了主要是用来判断开发生产环境
请先 登录 后评论
xxxxxa
看一眼你们的 webpack 配置文件?
请先 登录 后评论
xxxxxa
看看vue-cl编译那部分的代码i吧,webpack会自动设置,development和production,过程中代码也可能控制。
请先 登录 后评论