标签: ember-cli

ember-cli优于grunt/yeoman的优点

在最近的一次emberjs聚会中了解到我对ember-cli的好奇心.

据我所知,ember-cli是用ember-starter-kit生长出来的.从那时起,ember-starter-kit最近被弃用,转而使用ember-cli.

我已经使用grunt/yeoman超过10个月了.由于它的插件生态系统,我越来越喜欢它了.

另一方面,使用Ember-cli和grunt&yeoman有什么好处?或者有任何优势吗?

ember-cli能达到什么样的咕噜/自耕不能?

ember-cli

9
推荐指数
1
解决办法
1375
查看次数

Ember CLI Live Reload无法正常工作

我在这里这里看过其他类似的问题,但这些都不适合我.

我在Mac上,只是使用npm安装了ember cli,我认为它可以开箱即用.这是服务器输出:

version: 0.1.4
Could not find watchman, falling back to NodeWatcher for file system events
Livereload server on port 35729
Serving on http://0.0.0.0:4200/

Build successful - 2456ms.

Slowest Trees                  | Total          
-------------------------------+----------------
EsnextFilter                   | 877ms          
TreeMerger                     | 380ms          
Concat                         | 375ms          
JSHint - Tests                 | 178ms          
EsnextFilter                   | 146ms          
ES6Concatenator                | 135ms      
Run Code Online (Sandbox Code Playgroud)

javascript ember.js livereload ember-cli

9
推荐指数
1
解决办法
6213
查看次数

是否可以在emberjs中过滤多个值?

是否可以在emberjs中过滤多个值?

我试图用不同的过滤变量过滤表中的项目,并且我在使用多个变量时遇到了麻烦.

任何人都可以帮忙吗?我很喜欢emberjs并渴望学习.提前致谢.

javascript filter ember.js ember-cli

9
推荐指数
1
解决办法
5592
查看次数

如何从ember-CLI告诉ember.js和ember-data版本?

ember -v只显示ember cli版本.

如何查看ember.js版本和ember数据版本?

ember.js ember-data ember-cli

9
推荐指数
1
解决办法
6095
查看次数

EmberJS单元测试服务注入(Ember QUnit)

眼镜:

  • 灰烬版:1.13.8
  • 节点:0.10.33
  • npm:2.13.4

我有

import Alias from "../../../services/alias";
....

moduleFor("controller:test", "Controller: test", {
  integration: true,

  beforeEach: function() {
    this.register('service:alias', Alias, {singleton: true});
    this.inject.service('alias', { as: 'alias' });
    this.advanceReadiness();
  },
});
...

test('Alias Alias Alias ', function(assert) {
  var controller = this.subject();

  //sample function
  controller.send("test");
  assert.equal(true, controller.alias.get("alias"), "alias should be true");
});
Run Code Online (Sandbox Code Playgroud)
(以'别名'为例,因为我不允许显示实际代码)

我试图初始化服务,但在Ember Qunit测试期间,控制器没有注入服务.

我已经尝试将注入放入:init()而不是beforeEach,也不起作用......

如何在单元测试期间注入它?

我在调试器中放置断点以查看我的控制器是否具有该服务,在测试期间它没有.然而,在普通的余烬服务上这很好.

unit-testing qunit ember.js ember-data ember-cli

9
推荐指数
1
解决办法
5013
查看次数

emberjs 2连接到api flask - 遇到一个未定义类型的资源对象

我正在学习Ember,经过一些基本测试后,我尝试连接我的API来创建搜索组件.

API'application/vnd.api + json'

{
  "data": [
    {
      "expediente": "1717801",
      "fecha_de_presentacion": "01/02/2016 12:00:00 AM",
      "figura_juridica": "REGISTRO DE MARCA",
      "logotipo": null,
      "signo": "IGUY",
      "tipo": "NOMINATIVA",
      "titular": "SAMSONITE IP HOLDINGS S.\u00c0.R.L."
    },
    {
      "expediente": "1717793",
      "fecha_de_presentacion": "01/02/2016 12:00:00 AM",
      "figura_juridica": "REGISTRO DE MARCA",
      "logotipo": "1_files/direct_151.gif",
      "signo": "URGOSTART",
      "tipo": "MIXTA",
      "titular": "HCP HEALTHCARE ASIA PTE. LTD"
    },
    {
      "expediente": "1717780",
      "fecha_de_presentacion": "02/02/2016 12:00:00 AM",
      "figura_juridica": "REGISTRO DE MARCA",
      "logotipo": null,
      "signo": "SKALAR",
      "tipo": "NOMINATIVA",
      "titular": "SKALAR HOLDING B.V."
    },
    {
      "expediente": "1717811",
      "fecha_de_presentacion": …
Run Code Online (Sandbox Code Playgroud)

flask ember.js ember-cli

9
推荐指数
1
解决办法
2547
查看次数

方括号围绕函数定义中的参数

我在Ember CLI网站上看到了以下代码:

export default Ember.Helper.helper(function([value]) {
  return value.toUpperCase();
});
Run Code Online (Sandbox Code Playgroud)

令我困惑的是value参数周围的方括号.我可以在函数调用中理解它,但为什么在函数定义中呢?

javascript ember.js ember-cli

9
推荐指数
2
解决办法
2270
查看次数

我应该如何在Ember组件之间共享数据?

我的Ember应用程序有一个包含2个不同组件的路由和一个带有index.hbs模板的控制器.

这是它的样子:

在此输入图像描述

1)用户可以从过滤器组件的下拉列表中选择多个过滤器

2) DataGrid是与过滤器分开的组件

3)用户可以通过复选框从DataGrid中选择多行

4)创建自定义报告按钮将"sendAction"激活到路径的控制器

这些数据不是特定于模型的...它只是我可以制作自定义报告之前所需的临时数据.

Ember最佳实践是"Data Down/Actions Up",根据我的阅读,您不应该尝试从控制器访问组件.

但问题是,控制器的createCustomReport方法需要访问在filter-component中选择的所有过滤器以及在grid-component中检查的所有行.

我的第一直觉是在组件本身上设置属性 - 让它保持自己的状态 - 然后从控制器获取对组件的引用,以便在将其传递给报告函数之前获取其状态.

但显然这是禁忌.


这是我目前的解决方案:

每次选择过滤器时,都会有一个sendAction从组件冒泡到控制器,并在控制器上设置自定义属性.

此外,每次从网格中选择一个复选框时,另一个sendAction将转到组件,然后冒泡到控制器并在控制器上为选定的网格行设置自定义属性.

然后,当我单击"createCustomReport"时,在控制器中触发的方法可以访问我之前设置的属性 - 因为它们现在都在控制器上.

所以它看起来像这样:

import Ember from 'ember';

export default Ember.Controller.extend({

    myFirstFilter: undefined,
    mySecondFilter: undefined,

    actions: {
        createCustomReport() {
            // do something with all those component properties you've been setting
        },

        // These are triggered by the sendAction on the respective component
        firstFilterMethod(myProperty1) {                
            this.set('myFirstFilter', myProperty1.name);
        },

        secondFilterMethod(myProperty2) {               
            this.set('mySecondFilter', myProperty2.name);
        },

        ... …
Run Code Online (Sandbox Code Playgroud)

javascript ember.js ember-cli

9
推荐指数
1
解决办法
1953
查看次数

Broccoli插件:[UglifyWriter]失败了

在尝试在生产中构建一个ember应用程序时,我已经有两个星期的错误了.在开发环境中构建它工作正常.我还意识到在ember-cli-build中禁用minifyJs会阻止错误,但是然后,应用程序在浏览器中加载时会停滞不前,而在控制台中,我看到另一个错误:"无法导入ember-resolver".

我的猜测是,这是因为UglifyWriter不了解某些代码.

完整的错误是:

构建失败.文件:assets/vendor.js(95443:4)Broccoli插件:[UglifyWriter]失败:新JS_Parse_Error错误(eval at(/home/larisoft/frontend/node_modules/uglify-js/tools/node.js:1 :1),:1545:18)

at js_error (eval at <anonymous> (/home/larisoft/frontend/node_modules/uglify-js/tools/node.js:1:1), <anonymous>:1553:11)

at croak (eval at <anonymous> (/home/larisoft/frontend/node_modules/uglify-js/tools/node.js:1:1), <anonymous>:2092:9)

at token_error (eval at <anonymous> (/home/larisoft/frontend/node_modules/uglify-js/tools/node.js:1:1), <anonymous>:2100:9)

at unexpected (eval at <anonymous> (/home/larisoft/frontend/node_modules/uglify-js/tools/node.js:1:1), <anonymous>:2106:9)

at semicolon (eval at <anonymous> (/home/larisoft/frontend/node_modules/uglify-js/tools/node.js:1:1), <anonymous>:2126:56)

at simple_statement (eval at <anonymous> (/home/larisoft/frontend/node_modules/uglify-js/tools/node.js:1:1), <anonymous>:2317:73)

at eval (eval at <anonymous> (/home/larisoft/frontend/node_modules/uglify-js/tools/node.js:1:1), <anonymous>:2186:19)

at eval (eval at <anonymous> (/home/larisoft/frontend/node_modules/uglify-js/tools/node.js:1:1), <anonymous>:2139:24)

at block_ (eval at <anonymous> (/home/larisoft/frontend/node_modules/uglify-js/tools/node.js:1:1), <anonymous>:2432:20)
Run Code Online (Sandbox Code Playgroud)

西兰花插件在以下地址实例化:UglifyWriter.Plugin(/home/larisoft/frontend/node_modules/broccoli-plugin/index.js:7:31)

at new UglifyWriter (/home/larisoft/frontend/node_modules/broccoli-uglify-sourcemap/index.js:25:10)

at UglifyWriter (/home/larisoft/frontend/node_modules/broccoli-uglify-sourcemap/index.js:20:12)

at Class.postprocessTree (/home/larisoft/frontend/node_modules/ember-cli-uglify/index.js:15:50) …
Run Code Online (Sandbox Code Playgroud)

uglifyjs ember.js ember-cli

9
推荐指数
1
解决办法
1552
查看次数

Ember-cli ember服务于AssertionError(false == true)

我正在尝试按照ember-cli.com上的"入门"部分进行操作,但在尝试"ember serve"时遇到错误:

version: 0.1.6
Could not find watchman, falling back to NodeWatcher for file system events
Livereload server on port 35729
Serving on http://0.0.0.0:4200/
File: project/app.js
false == true
AssertionError: false == true
    at Visitor.PVp.visitWithoutReset (/Users/tiagomatos/Desktop/project/node_modules/ember-cli-esnext/node_modules/broccoli-esnext/node_modules/esnext/node_modules/recast/node_modules/ast-types/lib/path-visitor.js:135:12)
    at Visitor.PVp.visit (/Users/tiagomatos/Desktop/project/node_modules/ember-cli-esnext/node_modules/broccoli-esnext/node_modules/esnext/node_modules/recast/node_modules/ast-types/lib/path-visitor.js:117:21)
    at Function.transform (/Users/tiagomatos/Desktop/project/node_modules/ember-cli-esnext/node_modules/broccoli-esnext/node_modules/esnext/node_modules/regenerator/lib/visit.js:31:18)
    at transform (/Users/tiagomatos/Desktop/project/node_modules/ember-cli-esnext/node_modules/broccoli-esnext/node_modules/esnext/lib/index.js:86:23)
    at compile (/Users/tiagomatos/Desktop/project/node_modules/ember-cli-esnext/node_modules/broccoli-esnext/node_modules/esnext/lib/index.js:33:9)
    at EsnextFilter.processString (/Users/tiagomatos/Desktop/project/node_modules/ember-cli-esnext/node_modules/broccoli-esnext/index.js:41:16)
    at EsnextFilter.Filter.processFile (/Users/tiagomatos/Desktop/project/node_modules/ember-cli-esnext/node_modules/broccoli-esnext/node_modules/broccoli-filter/index.js:136:31)
    at Promise.resolve.then.catch.err.file (/Users/tiagomatos/Desktop/project/node_modules/ember-cli-esnext/node_modules/broccoli-esnext/node_modules/broccoli-filter/index.js:82:21)
    at $$$internal$$tryCatch (/Users/tiagomatos/Desktop/project/node_modules/ember-cli-esnext/node_modules/broccoli-esnext/node_modules/broccoli-filter/node_modules/rsvp/dist/rsvp.js:490:16)
    at $$$internal$$invokeCallback (/Users/tiagomatos/Desktop/project/node_modules/ember-cli-esnext/node_modules/broccoli-esnext/node_modules/broccoli-filter/node_modules/rsvp/dist/rsvp.js:502:17)
Run Code Online (Sandbox Code Playgroud)

我似乎无法找到有同样问题的其他人,所以我有点迷茫.关于可能导致这种情况的任何想法?

额外背景:

操作系统:OS X Yosemite

$ node -v
v0.10.35
$ npm -v
2.1.18
Run Code Online (Sandbox Code Playgroud)

ember.js ember-cli

8
推荐指数
1
解决办法
710
查看次数