我喜欢保持代码模块化,所以我将这种代码放在一个单独的文件(overrides/extra.js)中:
import Ember from 'ember';
Ember.RSVP.configure('onerror', function(error) {
....
});
export default null;这只会产生配置Ember.RSVP的副作用,但不会导出任何有价值的东西。然后我将在app.js中导入这个
import dummy from './overrides/extra';这是公认的做法吗?
发布于 2016-01-06 08:48:43
是的,如果您的模块不需要导出任何数据,则可以接受这一点,但如果不需要从模块导出任何内容,则不需要导出任何内容:
import Ember from 'ember';
Ember.RSVP.configure('onerror', function(error) {
....
});app.js:
import './overrides/extra';发布于 2016-01-06 08:57:40
我通常导出一个初始化函数:
我不知道Ember及其初始化,但是下面是它的样子:
import Ember from 'ember';
export default function initialize(){
return new Promise(function(ok, nok){
try { // or any other kind of failure detection
Ember.RSVP.configure('onerror', function(error) {
ok();
});
... you may do other initializations here
ok();
} catch (e) {
nok(e);
}
});
}在调用代码中
import initEmber from './yourFile.js';
initEmber()
.then(function(){
... here you know Ember is ready
})
.catch(function(){
... damn it!
});注意,如果Ember初始化是同步的,并且不会失败,@RGraham回答可能更适合您。
https://stackoverflow.com/questions/34628857
复制相似问题