Ember.js ember cli在开发和生产中包括不同的脚本标记

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

在使用ember cli时,我希望能够包括一个需要API密钥的外部js库,并且我希望在开发和生产中使用不同的API密钥

基本上,我想在app/index.html中添加以下脚本标记

但我希望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';
}