Ember.js Ember CLI ES6模块:导入到应用程序根目录的路径

Ember.js Ember CLI ES6模块:导入到应用程序根目录的路径,ember.js,module,ember-cli,ecmascript-6,Ember.js,Module,Ember Cli,Ecmascript 6,我发现ES6模块中的导入路径在Ember CLI中使用时非常混乱。例如,如果我想在我的应用程序中深入导入一个模型,我最终会执行以下操作: import User from '../../../../../models/user'; import User from 'app-name/models/user'; 这是一个尝试和错误的练习,因为很难想象我从中使用它的文件夹树有多深。更糟糕的是,如果我重构我的文件,一切都会崩溃 或者,我可以使用如下绝对路径: import User from '

我发现ES6模块中的导入路径在Ember CLI中使用时非常混乱。例如,如果我想在我的应用程序中深入导入一个模型,我最终会执行以下操作:

import User from '../../../../../models/user';
import User from 'app-name/models/user';
这是一个尝试和错误的练习,因为很难想象我从中使用它的文件夹树有多深。更糟糕的是,如果我重构我的文件,一切都会崩溃

或者,我可以使用如下绝对路径:

import User from '../../../../../models/user';
import User from 'app-name/models/user';
我不喜欢将应用程序名称硬编码到路径中,因为它可以更改

是否有一个速记来指定应用程序根目录

/
不起作用,因为
/
表示当前路径

import User from './models/user';

不幸的是,至少在Ember中无法以编程方式命名ES6导入,因此无法使用
ENV.modulePrefix

然而,有一个解决办法。无论何时,只要您想更改模块前缀,就从Ember根目录中的ZSH运行这个GNU-sed命令

sed -i 's/previousName/newName/g' **/*

这篇文章有很多想法: