ember.js - ember-cli 在开发与生产中包含不同的脚本标签

标签 ember.js ember-cli

当使用 ember-cli 时,我希望能够包含需要 API key 的外部 js 库,并且我希望在开发与生产中使用不同的 API key 。

本质上我想将以下脚本标记添加到 app/index.html

<script type="text/javascript" src="http://something.com?key=API_KEY"></script>

但我希望 API_KEY 在开发中运行时与生产中运行时有所不同。

感谢您的帮助!

最佳答案

看看 ember-inject-script插件,可以轻松地将第 3 方脚本包含在您的 ember-cli 应用程序中。要使用它,请 npm-install 插件,然后使用初始化程序加载脚本。然后在 config/environment.js 中为 API_KEY 设置不同的值

npm install --save-dev ember-inject-script
ember generate initializer something-dot-com

然后按如下方式编辑初始化程序

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';
}

关于ember.js - ember-cli 在开发与生产中包含不同的脚本标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26767311/

相关文章:

javascript - ember-cli 与 EmbeddedRecordsMixin 不是嵌入式模型

ember.js - Emberjs : show outlet on certain conditional

ember.js - 使用查询时查询 ember-数据存储未缓存

javascript - 为什么以下结果为 "Must set Ember.set() to access this property"?

ember.js - Ember.Select View 中的 focus-out 事件

javascript - 是否有类似于 `onload` 的任何 Ember 事件

javascript - 在 Ember 中对项目集合进行拆分和分组

ember.js - ember-2.0 尖括号组件不适用于 ember-cli@0.2.7

javascript - EmberRoute.controller 返回未定义

javascript - Handlebars if/else 渲染两个分支