Исходный код моего проекта делится на две части: общие и специфичные для сайта компоненты.Это выглядит так:
/root/
/shared/
component1.js
component2.js
/site/
component2.js
component3.js
Любой компонент может импортировать другой, используя следующий синтаксис:
component3.js:
import Component1 from '~/component1'
import Component2 from '~/component2'
Я хочу, чтобы веб-пакет искал любой компонент в / site / folder иесли он не найден, то в папке / shared /.
Я ищу правильную комбинацию псевдонимов и модулей разрешения веб-пакета для достижения этой цели.
В настоящее время я использую много символических ссылок.Поэтому ссылка на component1 размещена в папке сайта, а последняя папка указана в качестве точки входа в веб-пакет.Это работает, но в реальном проекте есть огромная путаница символических ссылок.
Я хочу, чтобы путь ~ имел два псевдонима: / site / и / shared /.Примерно так:
resolve: {
alias: {
'~': ['/path/to/site', '/path/to/shared']
}
}
Но это не работает, так как значение псевдонима должно быть строкой.
Давайте попробуем модули:
modules: [
'/path/to/site',
'/path/to/shared',
'node_modules'
]
Команда импорта изменится на import Component1 from 'component1'
.Кажется, это работает, но что, если некоторые из моих компонентов имеют то же имя, что и некоторые пакеты в node_modules?Я должен как-то их различать.