Webpack для работы с несколькими зависимыми проектами одновременно - PullRequest
0 голосов
/ 05 декабря 2018

В рамках проекта 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.

Первый вопрос: есть ли способ настроить преобразователь для разрешения «ближайшего» кандидата из исходного файла?Я думаю, что это было бы отличной возможностью.

Второй вопрос: есть ли способ «соединить» два процесса веб-пакета и требовать вывода одного из другого?Нередко можно работать более чем с одним проектом одновременно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...