我是Node js的新手,开始使用Angular 1.2和Node js开发Angular应用程序。截至目前,我已在节点services.js中硬编码REST API(Java)端点。现在我想加载特定于环境的基本端点URI。我已经尝试了几种方法,为process.env设置一个新的键值,一个env文件并加载它。任何人都可以帮助我。
我尝试过以下方法。
在根文件夹下创建devEnv.env文件。
添加了3个键值对
hostname = xyz
apikey = 123
devUrl = xyz/xyz/xyz.com/
然后在终端,我正在尝试将其添加到源。
$ source denEnv.env
我找不到来源。
我在package.json文件中添加脚本的另一种方法
{
"start-dev": "source devEnv.env; node server.js"
}
在终端我执行
$ npm start-dev
它也失败了。任何人都可以让我知道我在做什么错误以及正确的做法是什么。
提前致谢。
答案 0 :(得分:1)
我知道有三种方法:
1).env文件
您需要使用npm install
/ yarn add
并在主文件(例如index.js
)放置require('dotenv').config()
之上安装dotenv
个包。那应该将你的变量加载到节点。
2)传递开始
如果您想传递少量环境变量,可以在package.json
中尝试这样的事情:
{
"start-dev": "hostname=xyz apikey=123 devUrl=xyz/xyz/xyz.com node server.js"
}
建议:环境变量应该看起来像HOSTNAME
,API_KEY
或DEV_URL
。
3)系统环境变量
答案 1 :(得分:0)
您的变量很可能不会导出到shell。为了能够获取devEnv.env脚本,请尝试按如下方式修改它:
#!/bin/bash
export hostname=xyz
export apikey=123
export devUrl=xyz/xyz/xyz.com/
您很可能需要赋予其可执行权:
chmod +x devEnv.env
然后通过运行来源:
. devEnv.env
另一个例子可以在这里找到:Set environment variables from file