Ember CLI ES6模块:导入app root的路径

Joh*_*ika 8 module ember.js ecmascript-6 ember-cli

在Ember CLI中使用它时,我发现ES6模块中的导入路径非常混乱.例如,如果我想在我的应用程序中深入导入模型,我最终会做这样的事情:

import User from '../../../../../models/user';
Run Code Online (Sandbox Code Playgroud)

这是一次反复试验,因为很难直观地看到我正在使用它的文件夹树的深度.更糟糕的是,如果我重构我的文件,一切都会中断.

所以或者,我可以使用这样的绝对路径:

import User from 'app-name/models/user';
Run Code Online (Sandbox Code Playgroud)

我不想将应用名称硬编码到路径中,因为它可以改变.

是否有指定应用程序根目录的简写?

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

import User from './models/user';
Run Code Online (Sandbox Code Playgroud)

Poo*_*avi 2

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

不过,有一个解决方法。每当您想要更改模块前缀时,请从 Ember 根目录内的 ZSH 运行此 GNU sed 命令。

sed -i 's/previousName/newName/g' **/*
Run Code Online (Sandbox Code Playgroud)