前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Node.js设置环境变量

Node.js设置环境变量

作者头像
用户6256742
发布2022-07-06 15:06:15
5.9K0
发布2022-07-06 15:06:15
举报
文章被收录于专栏:网络日志

在使用Node.js进行开发时我们会将敏感的信息分为生产环境和开发环境进行文件形式的保存,那么如何设置环境变量成为了 一个问题。

在项目启动时我们可以使用cross-env插件进行设置,在项目启动时设置生产环境或者开发环境,例如:

代码语言:javascript
复制
 "scripts": {
    "dev:init": "node ./bin/dev",
    "dev": "cross-env ENV=development nodemon --watch ./dist ./dist/src/index.js",
    "build": "node ./bin/build",
    "start": "cross-env ENV=production nodemon ./src/index.js"
  }

Copy

JSON

使用cross-env将process.env.ENV设置为development或者production,这样在项目启动后我们可以在入口文件中动态选择读取生产环境或者开发环境的文件。

在入口文件我们需要安装dotenv插件进行处理,最好是尽早引入,这样在后面的文件中可以通过process.env进行变量的使用。

代码语言:javascript
复制
//环境变量
import dotenv from "dotenv";
import path from "path";
dotenv.config({
  path: path.join(__dirname, `../.env.${process.env.ENV}`), // 配置文件路径
  encoding: "utf8", // 编码方式,默认utf8
  debug: false, // 是否开启debug,默认false
}).parsed;

Copy

TypeScript

例如,生产环境的数据库信息和开发环境的数据库信息分开保存

代码语言:javascript
复制
import { Sequelize } from "sequelize";

const sequelize = new Sequelize(
  "blog",
  process.env.DB_MYSQL_USER + "",
  process.env.DB_MYSQL_PASSWORD,
  {
    host: process.env.DB_MYSQL_HOST + "",
    dialect: "mysql",
    port: process.env.DB_MYSQL_PORT ? +(process.env.DB_MYSQL_PORT as string) : 3306,
    timezone: "+08:00",
    pool: {
      max: 5,
      min: 0,
      idle: 1000,
    },
    dialectOptions: {
      dateStrings: true,
      typeCast: true,
    },
  }
);
export default sequelize;

Copy

TypeScript

文件结构这样设置即可

最后:不要忘了将生产环境的存储文件填写在.gitignore里面!!!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档