1

我正在创建一个节点 js 应用程序作为内容丰富的 UI 扩展。代码托管在这里:https ://github.com/doodybrains/media-tagging-extension

很多 gulp 文件都是样板文件,但最终所有内容都捆绑到一个index.html文件中。我知道不应在客户端代码中调用或处理 env 变量,但我不知道如何在项目构建之前将它们放入其中。当我在开发中运行 repo 并process.env.NAME_OF_TOKEN从中调用src/index.js时返回undefined。我尝试过导入 dotenv,创建 gulp env 管道等。

任何建议都会很有帮助。该应用程序正在部署到 Netlify,我也已经在那里设置了环境变量。

谢谢你

4

1 回答 1

0

您可以创建另一个可以使用 NODE_ENV 设置正确变量的 js 文件。我更喜欢调用服务以在应用程序启动时获取我的所有属性并在某些地图中进行设置。我使用地图在代码中的不同位置设置值。

一些示例代码...

const env = process.env.NODE_ENV || 'local';
const sit = {
    URL: 'sit url',
    HOST: 'sit host',
    ENV: 'sit'
};
const uat = {
    URL: 'uat url',
    HOST: 'uat host',
    ENV: 'uat'
};

var property_service_url = config[env].URL;
var property_service_host = config[env].HOST;

在启动您的应用程序之前,您可以设置 NODE_ENV=environment。例如在linux中。

export NODE_ENV=uat

这将确保环境设置正确。现在在您的 app.js 中,您可以调用该服务来加载您的属性。如果不想调用某个服务,可以按照设置 URL 和 HOST 的方式进行设置。

于 2018-08-27T16:27:16.280 回答