Ember.js ember cli在开发和生产中包括不同的脚本标记
在使用ember cli时,我希望能够包括一个需要API密钥的外部js库,并且我希望在开发和生产中使用不同的API密钥 基本上,我想在app/index.html中添加以下脚本标记Ember.js ember cli在开发和生产中包括不同的脚本标记,ember.js,ember-cli,Ember.js,Ember Cli,在使用ember cli时,我希望能够包括一个需要API密钥的外部js库,并且我希望在开发和生产中使用不同的API密钥 基本上,我想在app/index.html中添加以下脚本标记 但我希望API_键在我运行于开发环境而不是生产环境时有所不同 谢谢你的帮助 看看这个插件,它可以轻松地在您的ember cli应用程序中包含第三方脚本。要使用它,npm安装插件,然后使用初始值设定项加载脚本。然后在您的应用程序中为API_键设置不同的值 然后编辑初始值设定项,如下所示 import injectSc
但我希望API_键在我运行于开发环境而不是生产环境时有所不同
谢谢你的帮助 看看这个插件,它可以轻松地在您的ember cli应用程序中包含第三方脚本。要使用它,npm安装插件,然后使用初始值设定项加载脚本。然后在您的应用程序中为API_键设置不同的值
然后编辑初始值设定项,如下所示
import injectScript from 'ember-inject-script';
import config from '../config/environment';
export default {
name: 'something-dot-com',
initialize: function() {
var url = "//something.com?key=" + config.SOMETHING_API_KEY;
injectScript(url);
};
}
在config/environment.js中
ENV.SOMETHING_API_KEY = 'YOUR_DEV_API_KEY';
if (ENV.environment === "production") {
ENV.SOMETHING_API_KEY = 'YOUR_PROD_API_KEY';
}
您可以使用特定于环境的资产来配置它吗?我不清楚我会怎么做,但我会进一步调查。迈克-上面的代码会进入灰烬初始值设定项吗?如果是这样的话,那么将它放入index.html的
标记中有什么好处呢?@chopper是的,它会放入初始值设定项中。这和使用脚本标记没有太大区别,两种方法都可以工作。这种情况的主要好处是您可以访问config
,因此脚本url可以根据环境进行更改。另一个好处是injectScript()返回一个承诺,这样您就可以在加载脚本后运行一些东西。
ENV.SOMETHING_API_KEY = 'YOUR_DEV_API_KEY';
if (ENV.environment === "production") {
ENV.SOMETHING_API_KEY = 'YOUR_PROD_API_KEY';
}