Тебе не надоело делать что-то подобное 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.

Замечательный модуль, освобождающий вас от относительных путей. Вам нужно всего лишь:

  1. npm install app-module-path --save
  2. В вашем 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])