dro*_*bot 5 ember.js ember-cli
对于emberjs和ember-cli来说,这是一个新手.
我一直想知道这样的声明是如何工作的:
import Ember from 'ember'
Run Code Online (Sandbox Code Playgroud)
"ember build"是否在node_modules中查找"ember"?
我理解这样的语句与相对路径:
import ENV from './config/environment'
Run Code Online (Sandbox Code Playgroud)
但不是那些没有路径的人.
这个问题与找不到模块的ember-validations有关,试图找到它的根本原因.
排序答案是Ember-CLI直接向模块系统注册全局对象.看看这里的代码.虽然它包含在一个小帮助程序代码中,但它们基本上是这样做的:
define('ember', [], function() {
return {
'default': window.Ember,
};
});
Run Code Online (Sandbox Code Playgroud)
然后,Ember-CLI import在编译期间转换您的语句:
import Ember from 'ember';
Run Code Online (Sandbox Code Playgroud)
获取转换为:
var Ember = require('ember')['default'];
Run Code Online (Sandbox Code Playgroud)
请记住,这是使用转换器使用AMD模块时的工作方式.我不是100%确定如果我们使用本机ES6实现该代码将如何工作,虽然我知道语法支持这种事情.
| 归档时间: |
|
| 查看次数: |
2092 次 |
| 最近记录: |