在Ember CLI中使用它时,我发现ES6模块中的导入路径非常混乱。例如,如果我想在我的应用程序中深入导入模型,我最终会做这样的事情:
import User from '../../../../../models/user';
这是一次试验和错误的练习,因为很难直观地看到我正在使用它的文件夹树的深度。更糟糕的是,如果我重构我的文件,一切都会中断。
所以或者,我可以使用这样的绝对路径:
import User from 'app-name/models/user';
我不想将应用名称硬编码到路径中,因为它可以更改。
是否有指定应用根的简写?
./
不起作用,因为./
表示当前路径。
import User from './models/user';
答案 0 :(得分:2)
不幸的是,至少在Ember中无法以编程方式命名ES6导入,因此您无法使用ENV.modulePrefix
。
然而,有一种解决方法。无论什么时候想要更改模块前缀,都要从Ember root中的ZSH运行这个GNU sed命令。
sed -i 's/previousName/newName/g' **/*