相关疑难解决方法(0)

Ember CLI应用程序中基于环境的主机

我正在尝试在我的Ember CLI应用程序中配置适配器,以根据环境使用不同的主机.在开发中,我希望它是默认的当前主机(让我通过--proxy选项自定义它,但在生产中我知道它将是http://some.url.

我尝试将我ENV导入我的应用程序适配器:

// adapters/application.js
import DS from "ember-data";
import ENV from "../../config/environment";

export default DS.ActiveModelAdapter.extend({
  host: ENV.host
});
Run Code Online (Sandbox Code Playgroud)

但是我收到了一个tmp/tree_merger../config/environment.js不存在的错误.

ember-cli

12
推荐指数
1
解决办法
3546
查看次数

每个Ember环境保留多个适配器的灯具

虽然自然进展将用另一个适配器替换夹具适配器,但我希望保留用于开发环境的夹具,同时利用不同的Ember数据适配器进行生产.

这是因为:

  • 逐步增强的重复迭代
  • 旨在从iOS应用程序中嵌入UIWebView中,生产配置与桥接调用本地程序集的数据紧密结合.

Ember CLI资产编译基于西兰花加载Web或Native API:

app.import({
    development: 'vendor/company/WebAPI.js',
    production: 'vendor/company/NativeAPI.js'
});
Run Code Online (Sandbox Code Playgroud)

但是,我不确定如何利用此模式来更改适配器.

发展环境

对于开发,我想使用模拟数据或http服务来启用浏览器测试.

因此,在开发环境中启动Ember服务器可以利用夹具.

ember server --environment=development
Run Code Online (Sandbox Code Playgroud)

此配置将扩展FixtureAdapter以进行开发:

var ApplicationAdapter = DS.FixtureAdapter.extend({
    /* ... */
});
export default ApplicationAdapter;
Run Code Online (Sandbox Code Playgroud)

生产环境

但是,复杂性是需要不同适配器的生产环境.

在生产中启动Ember服务器时,服务通过bridge://方案提供,其中本机iOS应用程序管理传输层和数据模型.

ember server --environment=production
Run Code Online (Sandbox Code Playgroud)

此配置将扩展基本适配器以进行生产:

var ApplicationAdapter = DS.Adapter.extend({
    /* ... */
});
export default ApplicationAdapter;
Run Code Online (Sandbox Code Playgroud)

如何在Ember应用程序中使用多个适配器?如何在App中交换适配器,或者路由中的​​商店是否会定义不同的适配器?

javascript ember.js ember-data ember-cli

7
推荐指数
1
解决办法
1237
查看次数

标签 统计

ember-cli ×2

ember-data ×1

ember.js ×1

javascript ×1