我正在使用Ember CLI 0.0.36.当我ember server在我的项目文件夹中运行时,我的理解是埋在一些Brocoli进程中的服务器开始了.但是,我想编写一个自定义Express服务器,并让我的应用指向其后端的Node.js代码.我将如何在Ember CLI框架内执行此操作?
更新:
按照@ user3155277的回答,我添加了一个适配器文件,如下所示:
app-name/app/adapters/application.js:
import DS from 'ember-data';
export default DS.RESTAdapter.reopen({ namespace: 'api' });
Run Code Online (Sandbox Code Playgroud)
我创建了一个Express服务器,我放在我的应用程序的根目录:
app-name/server.js:
var express = require("express"),
app = express(),
path = require("path");
app.get("/api/test", function(req, res) {
res.json({
hello: "world"
});
});
var server = app.listen(8147);
Run Code Online (Sandbox Code Playgroud)
在Ember应用程序中,我的索引路由定义如下:
app-name/app/routes/index.js:
import Ember from 'ember';
export default Ember.Route.extend({
model: function() {
return Ember.$.getJSON("/api/test").then(function(data) {
return data;
});
}
});
Run Code Online (Sandbox Code Playgroud)
在命令行上,然后启动服务器,如下所示:
ember serve --proxy http://localhost:8147/
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
version: 0.0.35-master-86abdb11ba
Proxying …Run Code Online (Sandbox Code Playgroud) 我在很大的帮助下构建了一个EmberJS应用程序ember-cli,这很棒,但我有一个错误,我找不到我做错了什么.
这是我在西兰花文件中做的事情:
app.import('vendor/underscore/underscore.js', {
exports: {
"underscore": [
"underscore"
]
}
});
Run Code Online (Sandbox Code Playgroud)
然后在我的一个控制器中:
import _ from "underscore";
Run Code Online (Sandbox Code Playgroud)
ember-cli 构建我的应用程序
但是当我使用下划线进入控制器时,我收到错误:
错误:找不到模块下划线.
我究竟做错了什么?
要使我们的身份验证与我们的ember应用程序一起使用,我们需要从安全网址提供应用程序.我们有一个自签名的ssl证书.
如何设置ember-cli以为index.html提供https域名.
干杯
我添加了一些配置myapp/config/environment:
if (environment === 'development') {
ENV.APP.AuthURL = 'http://localhost:5000/';
}
Run Code Online (Sandbox Code Playgroud)
现在,要访问此配置,我应该使用某种方法还是直接访问window.Myapp?
二手版本:0.0.28-master-e49f47e669
我刚开始玩ember-cli(很棒的项目顺便说一下.).
使用'ember serve'启动服务器后,我查看了Chrome-Dev-Tools中的源代码(foo.js).Chrome需要几秒钟来加载foo.js,正如您在屏幕截图中看到的,所有JS文件都包含在eval中.
我该如何调试JS-Code?我在这里错过了什么?

我是ember,ember-cli的新手,我还在学习一切顺利的地方.我正在尝试使用ember-i18n模块添加多语言支持.
我有与bower一起安装的依赖项
bower install cldr ember-i18n --save
Run Code Online (Sandbox Code Playgroud)
而且我的进口工作正在进行中 Brocfile.js
app.import('vendor/cldr/plurals.js');
app.import('vendor/ember-i18n/lib/i18n.js');
Run Code Online (Sandbox Code Playgroud)
在我的应用程序中,i18n车把助手正在工作
{{t hello}} 给我"缺少翻译:你好"
我不知道在包含翻译的ember-cli文件夹结构中放置或引用文件的位置.
根据ember-i18n文档,它看起来像这样
Ember.I18n.translations = {
hello: "Hello World",
}
Run Code Online (Sandbox Code Playgroud)
我试着坚持app.js只是为了看它工作,但得到了错误:
Uncaught TypeError: Cannot set property 'translations' of undefined
Run Code Online (Sandbox Code Playgroud) 我想将ember-cli与Laravel一起使用,我需要知道如何更改dist文件夹的路径.
有没有人设法使用Ember CLI项目获得代码覆盖率?
我已经尝试使用blanket.js和伊斯坦布尔,因为有其他在这里,这里和这里,也没有用任何的成功.我设法让每个人实际生成一份报道报告,但报告要么说是0%(伊斯坦布尔),要么是100%(blanket.js),目前的测试无法提供100%的覆盖率.
Ember CLI生成的构建项目JavaScript文件包含项目的所有源文件,每个文件的内容都输出到一行,有时是大量的行.因此,即使覆盖工具能够为构建文件中的代码生成实际覆盖度量指标,也存在查看结果的问题.上帝只知道如何将其链接回原始源文件?
Ember CLI很棒,看起来很受欢迎,所以我很惊讶更多的人没有遇到这个问题.也许其他人不会受到代码覆盖的困扰,或者大多数人只是让它在没有问题的情况下工作,而我却错过了一些东西.
我使用ember-browserify在我的ember-cli应用程序中查找npm模块,但由于某种原因它不适用于ember-cli插件.
所以我的问题是:有没有其他方法可以将npm模块导入到ember-cli插件中?
编辑:
所以我无法导入npm模块,但是我发现我想要导入的特定模块也是一个bower组件,所以我安装了它并通过index.js类似的方式导入它:
included: function(app) {
this._super.included(app);
app.import('bower_components/dropzone/dist/dropzone.js');
}
Run Code Online (Sandbox Code Playgroud)
那很有效.这样做node_modules是不可能的.很难将npm模块导入到ember-cli插件中.
我有一些需要运行的代码store.init.
我尝试扩展默认存储app/store.js,ember-cli似乎把它当作商店,但是对象this.store不是商店
我的店铺定义:
import DS from 'ember-data';
export default DS.Store.extend({
init:function(){
console.log('watatLoL')
}
});
Run Code Online (Sandbox Code Playgroud) ember-cli ×10
ember.js ×5
blanket.js ×1
ember-data ×1
ember-i18n ×1
istanbul ×1
javascript ×1
laravel ×1
npm ×1