В рамках проекта js часто практикуют настройку веб-пакета для разрешения файлов, относящихся к корню проекта:
project1/
webpack.config.js
src/
components/
Component.js
assets/
jss/
styles.js
project2/
webpack.config.js
src/
components/
Component.js
assets/
jss/
styles.js
Для каждого компонента Component.js каждого проекта может потребоваться свой собственный styles.js
с import styles from 'assets/jss/styles.js'
* 1006.*
Я работаю над основным приложением и двумя библиотеками компонентов, структурированными как предыдущие примеры.Я хочу оставить структуру библиотек нетронутой.
Библиотеки и основное приложение должны быть независимыми проектами.
Но во время разработки я хочу работать с древовидными проектами нав то же время, используя такие преимущества Webpack, как отслеживание изменений в файлах и горячая перезагрузка.
Моя первая попытка состояла в том, чтобы использовать только файл конфигурации webpack основного приложения и настроить механизм распознавания следующим образом:
resolve: {
...
modules: [
path.resolve(__dirname, 'src'),
path.resolve(__dirname, 'lib/project1/src'),
path.resolve(__dirname, 'lib/project2/src'),
'node_modules',
],
alias: [
'project1': path.resolve(__dirname, 'lib/project1/src/'),
'project2': path.resolve(__dirname, 'lib/project2/src/'),
],
...
},
Таким образом, я могу требовать любой файл из проекта1 или проекта2 через псевдоним, и ссылки в пределах проектов1 и проекта2 разрешаются, но кажется, что существует приоритет, основанный на порядке массива resol.modules, поэтому import styles from 'assets/jss/styles.js'
в проекте 2 преобразуется в assets/jss/styles.js
проекта 1.
Первый вопрос: есть ли способ настроить преобразователь для разрешения «ближайшего» кандидата из исходного файла?Я думаю, что это было бы отличной возможностью.
Второй вопрос: есть ли способ «соединить» два процесса веб-пакета и требовать вывода одного из другого?Нередко можно работать более чем с одним проектом одновременно.