ember.js - EmberJs:如何将数据动态注入 ENV?
问题描述
我需要在构建阶段之前动态注入一些数据。
在我的 config/environment.js 我有:
module.exports = function(environment) {
environment = 'production';
var ENV = {
APP: {
API_HOST: 'https://apihost1.com,
secret: 'key1'
}
};
return ENV;
};
我如何将“APP”对象动态更改为其他对象:
APP: {
API_HOST: 'https://apihost2.com,
secret: 'key2'
}
在根据我的 package.json 中的执行命令构建之前?
"scripts": {
"build": "$CONFIG_NAME ember build",
},
我正在考虑 npm 脚本,但无法实现。有人有解决方案吗?
解决方案
你可以做这样的事情config/environment
:
const customConfig = require(`./config.${process.env.CONFIG_NAME}.json`);
module.exports = function(environment) {
environment = 'production';
var ENV = {
APP: {
...customConfig,
otherStuff: 'bla'
}
};
return ENV;
};
然后,env CONFIG_NAME=foo ember build
如果您想在构建期间将 的内容合并config/config.foo.json
到中,则可以运行。ENV.APP
env
tho 是 unix 的东西,这将适用于 Linux 和 MacOS 以及其他 unix 系统。
对于 Windows,您可以使用 PowerShell 设置 env 变量或安装cross-env
并执行npm run cross-env CONFIG_NAME=foo ember build
.
推荐阅读
- angular - 如何从 url 读取 CSV 内容?
- excel - 如何根据单元格值清除行中的内容?
- angular - 无法读取角度嵌套表单组上未定义的属性“hasError”
- php - 那是某种PHP后门吗
- android - Android - getSupportFragmentManager + RecyclerView 的使用
- python - 设置和获取 cookie 时出现关键错误
- python - 多个while/尝试检查value是否是0到1之间的数组
- java - Intellij 更改“第一个建议修复”键?
- php - 设置多个身份验证保护时 Laravel 重定向错误
- javascript - 将特定单元格数据从工作表传输到工作表