Тебе не надоело делать что-то подобное import AnyModel from '../../../models/AnyModel'?
Что ж, если ты не устал, как я, можешь пропустить этот пост, и я тебе завидую, ха-ха.
Но если вы, как и я, устали, представьте, что ваша структура каталогов выглядит примерно так:
myProjectFolder/
|--main.js
|--app/
|--models/
| |--Article.js
| |--Post.js
|--workers/
|--SomeWorker.js
Итак, если вы хотите использовать Article.js внутри SomeWorker.js, вам нужно будет сделать import Article from '../models/Article.js'. Я ненавижу эти '..', они меня раздражают, и в этом импорте не так много '..', но если блокировка SomeWorker.js или любого файла, в который вам нужно включить Article.js, далеко, число '..' больше.
Итак, вчера я искал решение и наткнулся на app-module-path-node, большое спасибо @Pat.
Замечательный модуль, освобождающий вас от относительных путей. Вам нужно всего лишь:
npm install app-module-path --save- В вашем
main.js,app.jsилиwhatever.jsдобавьтеimport 'app-module-path/register';
Теперь вместо import Article from '../models/Article.js' я могу делать import Article from 'app/models/Article.js', и я намного счастливее, чем раньше !!
Если вам известно другое решение, опубликуйте его в ответах, и я обновлю сообщение!
Надеюсь, вам понравится читать этот пост, как и мне!
Вы можете подписаться на меня в Twitter, StackOverflow, LinkedIn или Github :)
Мариано Матайоши ([email protected])