node安装配置环境,node需要配置环境变量吗

  node安装配置环境,node需要配置环境变量吗

  本文介绍了配置环境使节点项目支持可扩展性的方法,希望对你有所帮助!

  node.js速度课程简介:进入学习

  因为节点项目开发较少,不涉及环境变量的切换,但做前端项目开发时总会遇到。例如,Vue中的项目可以用。env.xxx.xxx,环境变量的配置需要从VUE_APP_开始。为什么?我们来探讨一下Vue项目的环境变量是如何加载和解析的,然后我们把它们移植到Node项目上。[推荐研究:《nodejs 教程》]

  

探索Vue中环境配置的加载:

  我们先来看看Vue CLI对模式和环境变量的说明。我们看到有一段话:解析环境文件的规则详见dotenv。我们还使用dotenv-expand实现变量扩展(Vue CLI 3.5支持)。让我们先用Vue Cli创建一个Vue项目。

  探索第一步:

  @vue/cli-service包是通过执行package.json中的脚本来使用的

  探索第二步:

  @vue/cli-Service package确实安装了官网提示的两个依赖包,在bin目录下的vue-cli-service.js文件中找到了关键类Service。

  探索第三步:

  在服务中,我们发现加载环境配置的关键功能,其中两个路径涉及。环境模式和。env.mode.local,也就是我们的环境变量文件可以支持with也可以不支持。本地的。

  两次思考负载的作用?

  探索第三步:

  指定的前缀是什么?我们在util目录中找到了答案:resolveClientEnv.js,最终由DefinePlugin插件加载到全局配置中。

  思考BASE_URL的设置?

  

为携带webpack的Node项目中增加环境配置

  准备webpack项目环境

  准备webpack.config.js

  新增env-helper.js,我们一起来实现一下:

  必备依赖装一下

  npm安装dotenv -保存

  npm安装dotenv-扩展-保存解析环境变量文件

  /**

  *解析环境变量文件

  * @param {*}模式

  */

  const loadEnv=(mode)={

  const basePath=path . resolve(_ _ dirname,` . env${mode?`.$ { mode } `: ` `} `);

  const local path=` $ { basePath } . local `;

  恒定载荷=(环境路径)={

  尝试{

  const env=dotenv . config({ path:env path,debug:process . env . debug });

  doten expand(env);

  } catch (err) {

  if (err.toString()。indexOf(ENOENT) 0) {

  console.error(错误);

  }

  }

  };

  load(local path);

  load(base path);

  };符合前缀的环境变量对象

  /**

  *获取符合前缀规则的环境变量对象。

  */

  const prefixre=/^xxtx_app_/;

  const resolveClientEnv=()={

  const env={ };

  Object.keys(process.env)。forEach((key)={

  if(prefix re . test(key) key=== NODE _ ENV ){

  env[key]=process . env[key];

  }

  });

  返回env

  };升级webpack.config.js来演示环境变量读取

  增加演示插件和NODE_ENV配置

  const web pack=require( web pack );

  const { loadEnv,resolveClientEnv }=require(。/env-helper );

  //解析环境配置文件

  //通过cross-env在脚本中配置NODE_ENV=development。

  loadEnv(process . ENV . node _ ENV);

  //获取符合规则的环境配置对象

  const env=resolveClientEnv();

  const HelloWorldPlugin=require(。/hello-world’);

  模块.导出={

  模式:“开发”,

  插件:[

  新网络包。定义插件(env),

  新hello world plugin({ options:true }),

  ],

  };在我们的webpack插件中使用环境变量

  HelloWorldPlugin类{

  应用(编译器){

  compiler . hooks . done . tap( hello world plugin ,()={

  console.log(Hello World!);

  console.log([ XXTX_APP_NAME ],process . env . XXTX _ APP _ NAME);

  console . log([XXTX _ APP _ BASE _ URL],process . env . XXTX _ APP _ BASE _ URL);

  });

  }

  }

  module . exports=hello world plugin;查看输出结果

  

结尾说明:

  我们可以通过改变挂载配置的方式将env-helper.js移植到其他节点项目。

  此代码取决于CV解决方案。你学会了吗?

  更多编程知识请访问:编程教学!也就是说,Node project如何配置环境以支持可伸缩性?更多详情请关注我们的其他相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: