ember.js - import 语句在 ember-cli 中是如何工作的?

标签 ember.js ember-cli

我对 emberjs 和 ember-cli 很陌生。

我一直想知道这样的声明是如何工作的:

import Ember from 'ember'

'ember build' 会在 node_modules 中查找“ember”吗?

我用相对路径理解这样的陈述:
import ENV from './config/environment'

但不是那些没有路径的人。

这个问题与 Could not find module ember-validations 相关。 ,努力寻找其根本原因。

最佳答案

排序的答案是 Ember-CLI 直接向模块系统注册全局对象。看看代码here .虽然它包含在一些帮助代码中,但它们基本上是这样做的:

define('ember', [], function() {
    return {
        'default': window.Ember,
    };
});

然后,Ember-CLI 转换您的 import编译时的声明:
import Ember from 'ember';

转换为:
var Ember = require('ember')['default'];

请记住,这是使用转译器来使用 AMD 模块时的做法。如果我们使用原生 ES6 实现,我不能 100% 确定该代码将如何工作,尽管我知道语法支持这种事情。

关于ember.js - import 语句在 ember-cli 中是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28193989/

相关文章:

javascript - 如何在 Ember 中创建一个可以包装/操作内容的 Handlebars block 助手?

ember.js - 从其他 Controller 访问 Controller

javascript - emberjs, ember-data, localstorage adapter, destroyRecord 和 all hasMany 关系

javascript - 实现 ember js 后网站无法呈现

ember-cli - 如何调试 ember-cli 生成和服务的 Javascript 代码?

javascript - 找不到 "application"模板或 View 。什么都不会呈现对象 {fullName : "template:application"}

ember.js - 使用 ember-cli 的多个 "apps"

javascript - Ember 数据、关系和 JSON

ember.js - Ember-CLI:有没有办法将(供应商)目录复制到/public/assets?

windows - 为什么我的 ember-cli 构建时间在 Windows 上这么慢?