标签: ember-cli

Ember测试:无法读取null的属性'createRecord'

似乎store在我的Ember测试中无法使用,无论是ObjectController在任何单元测试中还是在任何单元测试中.我的单元测试:

`import {test, moduleFor} from "ember-qunit"`
`import DS from "ember-data"`

moduleFor "controller:register", "RegisterController", {
}

test "store is working", ->
    expect 1
    controller = @subject()
    Ember.run(->
        sampleUser = controller.get("store").createRecord("user", {
            username: "myuser"
            password: "otherpassword"
        })
        ok(sampleUser instanceof DS.Model)
    )
Run Code Online (Sandbox Code Playgroud)

测试将给出:

死于试验#1试验(http://localhost:4200/assets/vendor.js:73539:13)在EVAL(应用程序/测试/单元/控制器/注册-test.js:19:5)在requireModule( http://localhost:4200/assets/vendor.js:54:29)在http://localhost:4200/assets/test-loader.js:14:29:无法读取属性'createRecord'空的

任何人都可以解释为什么我无法DS从我的测试中或控制器本身(运行测试时)访问功能?

unit-testing coffeescript ember.js ember-cli

5
推荐指数
1
解决办法
866
查看次数

无法再在 Windows 7 中本地运行我的 ember 应用程序

I did my first development in a Win7 machine, then switched to a Mac when I got that, which was great due to the speed of building with ember server running. I've been keeping everything in a Git repo. Everything works fine running ember server from my Mac.

Now, when I do a fresh clone from the repo on my Win7 computer, then do npm install and bower install (both of which complete fine), when I run ember server next, …

windows-7 ember.js ember-cli

5
推荐指数
1
解决办法
506
查看次数

Ember-CLI没有Ember Data,而是使用普通的ember对象

我使用Ember-CLI构建我的ember应用程序,但我不想使用Ember Data.

默认情况下,当您键入以下命令时:ember generate model Person,ember-cli将在名为"person.js"的模型下创建一个js文件,它将是一个DS.extend(...).我不想那样,我想要一个普通的余烬物.所以......我删除了person.js并手动创建了一个名为models.js的js文件(这就是我要声明所有ember对象的地方).

这是我在models.js中的内容:

import Ember from "ember";

App.Person = Ember.Object.extend({
  helloWorld: function() {
    alert("Hi, my name is " + this.get('name'));
  }
});
Run Code Online (Sandbox Code Playgroud)

我已经检查过"App"是否可用(在app.js中声明了一个名为App的应用程序 - 由EmberCLI生成 - 并且它被导出).

所以......现在......我想从我的路线中使用它.我有这样的东西(在"routes"下的一个名为person.js的js文件中):

import Ember from 'ember';

export default Ember.Route.extend({
  model: function() {
    return App.Person.create({
      name: "Tom Dale"
    });
  }
});
Run Code Online (Sandbox Code Playgroud)

嗯......它不起作用.控制台说:处理路由时出错:person.index App未定义ReferenceError:未定义App.

好的...我检查了生成的js文件(myproject.js):我发现了这个:

define('infoleccion2015/tests/models/models.jshint', function () {

  'use strict';

  module('JSHint - models');
  test('models/models.js should pass jshint', function() { 
    ok(false, 'models/models.js should pass jshint.\nmodels/models.js: line 3, col 1, \'App\' is not …
Run Code Online (Sandbox Code Playgroud)

ember.js ember-cli

5
推荐指数
1
解决办法
3336
查看次数

覆盖已安装的ember-cli插件的`content-for`挂钩

我已经安装了ember-marked插件.它通过content-for钩子向我的应用程序添加内容.特别是在标题中,但我认为不重要.

我不想要它注入的脚本或CSS.

如何覆盖content-for插件?

ember-cli

5
推荐指数
0
解决办法
118
查看次数

清洁安装后重建时Ember CLI崩溃 - 我做错了什么?

我不知道出了什么问题但是当我在项目中更改一个触发重建的文件时,我得到一个EEXIST, file already exists错误,引用了一个tmp文件位置.

为了说明,请参阅以下内容:

1)我按照Ember发行说明的指示从一块干净的石板开始:

?  code  npm uninstall -g ember-cli
unbuild ember-cli@0.2.0-beta.1
?  code  npm cache clean
?  code  bower cache clean
bower deleted       Cached package ember: /Users/userx/.cache/bower/packages/6c52274ebac940c836cec79e11a2d66a/1.10.0
bower deleted       Cached package ember-cli-test-loader: /Users/userx/.cache/bower/packages/fe70ed35683979c3b9a86502abc892c8/0.1.3
bower deleted       Cached package ember-load-initializers: /Users/userx/.cache/bower/packages/ace05fe526bc815d00157b3e7fdcccab/0.0.2
bower deleted       Cached package ember-qunit: /Users/userx/.cache/bower/packages/6b2637f1e3c33e331968889fd7088678/0.2.8
bower deleted       Cached package ember-qunit-notifications: /Users/userx/.cache/bower/packages/ebaf09c3e2e50cee4fa08625051f7d60/0.0.7
bower deleted       Cached package ember-data: /Users/userx/.cache/bower/packages/b56c7ee7b1cb5f358555b733f3ec15c1/1.0.0-beta.15
bower deleted       Cached package ember-cli-shims: /Users/userx/.cache/bower/packages/b2aa621bf259c52274bc62a524406e11/0.0.3
bower deleted       Cached package loader.js: /Users/userx/.cache/bower/packages/b765bce6e48383520b38bc3732776d8e/1.0.1
bower deleted       Cached package …
Run Code Online (Sandbox Code Playgroud)

node.js ember.js ember-cli broccolijs

5
推荐指数
1
解决办法
1988
查看次数

如何从控制器访问模型?

我似乎无法从控制器内部获取模型,即使控制器似乎设置了模型属性。下列:

export default Ember.ObjectController.extend({
    init: function() {
        this._super();
        console.log(this.get('model'));
        console.log(this.model);
        console.log(this);
    }
}
Run Code Online (Sandbox Code Playgroud)

打印出来:

在此处输入图片说明

有任何想法吗?

ember.js ember-cli

5
推荐指数
1
解决办法
1112
查看次数

无法在Ember.DefaultResolver.extend.podBasedComponentsInSubdir中读取undefined的属性'match'

我从控制台得到一个非常不透明的错误消息(在我意义上我没有参考点的不透明),我不完全确定在哪里看,我觉得它可能是库代码中的错误但在发布之前这个在github上我只是仔细检查一下这不是我自己的错.

问题

问题很简单,我打电话this.store.find('player'),希望获得所有玩家的列表,然后以某种列表显示它们,但我甚至没有超过装载部分.数据从服务器中提取并且看起来格式正确,但在route.model方法调用之后似乎失败了.并且错误消息似乎在ember.js库代码中的某处,没有任何指向我自己的代码.

服务器响应

内容类型当然是application/json,并注意该id属性实际上_id.

[
  {
    "_id":"55405a5102b4ed623c225e87",
    "alias":"mikeTest",
    "__v":0,
    "scans":[],
    "createdAt":"2015-04-29T04:13:05.223Z"
  }
]
Run Code Online (Sandbox Code Playgroud)

错误信息

请注意,堆栈跟踪的一部分指向我的源,仅指向Ember源.这让调试很痛苦.

Error while processing route: leader Cannot read property 'match' of undefined TypeError: Cannot read property 'match' of undefined
    at Ember.DefaultResolver.extend.podBasedComponentsInSubdir (http://localhost:4200/assets/vendor.js:60138:76)
    at http://localhost:4200/assets/vendor.js:60190:34
    at Array.exports.default.mixin.Mixin.create.find (http://localhost:4200/assets/vendor.js:39572:30)
    at Ember.DefaultResolver.extend.findModuleName (http://localhost:4200/assets/vendor.js:60188:44)
    at resolveOther (http://localhost:4200/assets/vendor.js:60051:37)
    at superWrapper (http://localhost:4200/assets/vendor.js:28141:20)
    at exports.default.EmberObject.default.extend.resolve (http://localhost:4200/assets/vendor.js:15454:35)
    at Object.resolve [as resolver] (http://localhost:4200/assets/vendor.js:15217:23)
    at resolve (http://localhost:4200/assets/vendor.js:12792:29)
    at Object.Registry.resolve (http://localhost:4200/assets/vendor.js:12336:21)
Run Code Online (Sandbox Code Playgroud)

资源 …

ember.js ember-data ember-cli

5
推荐指数
1
解决办法
3333
查看次数

灰烬 - 为每条路线设置动态页面标题

我已经设置了我的Ember应用程序来使用pod结构.我创建了一个topbar-nav组件,我在主页面上显示.在topbar-nav组件中,我设置了页面标题,我希望每个路由自动设置,因此对于仪表板路径,标题应该是仪表板,仪表板/类别标题应该是类别等等.

这是我的app结构:

  • 应用
    • 应用
    • 组件
      • 顶栏,导航
    • 仪表板
    • 类别

应用程序路由器 - router.js

import Ember from 'ember';
import config from './config/environment';

var Router = Ember.Router.extend({
  location: config.locationType
});

Router.map(function() {
  this.route('dashboard', function() {
    this.route('categories');
  });
});

export default Router;
Run Code Online (Sandbox Code Playgroud)

和模板:

应用程序/ template.hbs

<aside>
    {{sidebar-nav}}
</aside>

<main>
    <header>
        {{topbar-nav}}
    </header>

    {{outlet}}
</main>
Run Code Online (Sandbox Code Playgroud)

组件/顶栏-NAV/template.hbs

<nav class="topbar-nav">
    <div class="text-center">
        <h5 class="page-title">{{title}}</h5>
    </div>
</nav>

{{yield}}
Run Code Online (Sandbox Code Playgroud)

组件/顶栏-NAV/component.js

import Ember from 'ember';

export default Ember.Component.extend({
    title: 'Component title'
});
Run Code Online (Sandbox Code Playgroud)

你可以告诉我已经呈现的标题是' 组件标题 '

我现在得到的最准确的答案是这一个:

Ember动态头衔 …

ember.js ember-cli ember-cli-pods

5
推荐指数
1
解决办法
1099
查看次数

Ember生产构建,找不到模块.由于模块名称包含'\'而不是'/'

在生产ember构建中,我在加载index.html时遇到了以下错误.

未捕获错误:无法找到ember-data/-private\system\references\record从中导入的模块ember-data/-private/system/references

我相信模块名称正斜杠会导致此问题.

我在ember-cli-build.js文件中没有任何条目.在分析此错误时,我发现注册表包含以下模块,
"ember-data/-private/system/references"
"ember-data/-private/system/references/belongs-to"
"ember-data/-private/system /文献/有一对多"

但是有些如何在注册表中检查以下依赖项ember-data-private\system\references\
tneter-data-private\system\references\belongs-to
ember-data-private\system\references\has-many

导致以下缺少模块错误.任何人都帮我解决这个错误.

ember.js ember-data ember-cli

5
推荐指数
1
解决办法
498
查看次数

Ember:没有找到'user'的模型,并且在执行save promise时创建了Duplicate POST

更新:

有人可以帮忙吗?本周好一半,我一直在追求这个没有好运的事情.我注意到客户端正在生成两个POST.我已经为适配器添加了代码.还有其他我应该看的吗?

我正在浏览下面提供的视频教程,当我单击"提交"按钮将数据保存到数据库时,无法解决两个错误.

  1. 找不到'用户'的型号
  2. 正在生成两个POST.这会导致Assertion Failed错误,我怀疑这是因为从服务器返回的ID与前端的当前ID不匹配.

我看到数据库有两个新记录.当我再次单击提交按钮时,应用程序会将我带回到todo-items页面,其中显示了两个记录.谁能告诉我我做错了什么?

当前版本:

  • 恩伯:3.2.2
  • Ember数据:3.2.0
  • jQuery:3.3.1
  • Ember Simple Auth:1.7.0

视频教程(错误发生在11:30标记处):https://www.youtube.com/watch?v = bZ1D_aYGJnU.注意:该视频的作者似乎已经将重复的POST问题在视频结尾处消失了,但我看不出如何.

灰烬错误消息

组件/表格/ TODO项表格/ component.js

import Component from '@ember/component';

export default Component.extend({
    actions:{
        save(){
            this.get('submit')();
        }
    }
});
Run Code Online (Sandbox Code Playgroud)

组件/表格/ TODO项表格/ template.hbs

<form {{action "save" on="submit"}}>
{{input placeholder="description" value=todoItem.description}}
  <br />
  {{#if todoItem.validations.isValid}}
    <button type="submit">Add</button>
  {{else}}
    <button type="submit" disabled>Add</button>
  {{/if}}
</form>
Run Code Online (Sandbox Code Playgroud)

模板/ S/TODO项/ add.hbs

{{forms/todo-item-form
  todoItem=model
  submit=(route-action "submitAction") 
}}
{{outlet}}
Run Code Online (Sandbox Code Playgroud)

型号/待办事项,item.js

import DS from 'ember-data';

import { validator, buildValidations } from 'ember-cp-validations'; …
Run Code Online (Sandbox Code Playgroud)

javascript console ember.js ember-data ember-cli

5
推荐指数
1
解决办法
105
查看次数