问答

有点混淆这些概念:--env / cross-env / process.env.NODE_ENV /

作者:admin 2021-05-11 我要评论

查了些资料,没有完整说明的,有懂的大神看看下面的理解对不? --env "start": "webpack --env IS_ES serve --config webpack.conf.js --open Chrome.exe" 这个...

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)

查了些资料,没有完整说明的,有懂的大神看看下面的理解对不?

--env

"start": "webpack --env IS_ES serve --config webpack.conf.js --open Chrome.exe"

这个东西属于webpack的一个配置项
只能在webpack.config.js中使用,不能src代码中使用
例如:

const path = require('path');

module.exports = env => {
  // Use env.<YOUR VARIABLE> here:
  console.log('NODE_ENV: ', env.NODE_ENV); // 'local'
  console.log('Production: ', env.production); // true

  return {
    entry: './src/index.js',
    output: {
      filename: 'bundle.js',
      path: path.resolve(__dirname, 'dist'),
    },
  };
};

DefinePlugin

定义一个node变量,可以在任何地方使用,通过process.env.xx调用即可
定义一个全部变量,只能在src代码中使用

new webpack.DefinePlugin({
  PRODUCTION: JSON.stringify(true),
  VERSION: JSON.stringify('5fa3b9'),
  BROWSER_SUPPORTS_HTML5: true,
  TWO: '1+1',
  'typeof window': JSON.stringify('object'),
  'process.env.NODE_ENV': JSON.stringify(process.env.NODE_ENV)
})
console.log(VERSION)

cross-env

设置node变量,只能在node环境使用,src不行
因node在不同系统上设置环境变量process.env的方式不同,
所以产生这个插件

process.env.NODE_ENV

webpack内部同时设置的node变量全局变量
所以可以同时在配置文件和src代码中使用

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
  • 有点混淆这些概念:--env / cross-env

    有点混淆这些概念:--env / cross-env

  •  有关 android studio notification 横

    有关 android studio notification 横

  • vue的input验证问题

    vue的input验证问题

  • 这个sdk中这个文件的使用方法是什么?

    这个sdk中这个文件的使用方法是什么?

腾讯云代理商
海外云服务器