Как построить для нескольких целей с веб-пакетом? - PullRequest
2 голосов
/ 24 апреля 2019

Я следовал документам и реализовал что-то похожее на это:

...
const config = {
    mode: 'development',
    devtool: 'inline-source-map',
};

const nodeConfig = merge(common, {
    ...config,
    output: {
        filename: 'bundle.node.js',
    },
    target: 'node',
});

const webConfig = merge(common, {
    ...config,
    node: {
        crypto: true,
    },
    output: {
        filename: 'bundle.web.js',
    },
    target: 'web',
});

module.exports = [nodeConfig, webConfig];

Тем не менее, только одна цель проходит, и я не думаю, что есть детерминированный процесс, чтобы выяснить, какая из них создается (то есть иногда веб-цель создается, а иногда - цель узла) .

Я не уверен, что я делаю неправильно в конфигурации выше, но я чувствую, что есть некоторое гоночное условие, когда одна цель строится раньше другой, поэтому процесс узла завершается, прежде чем строить обе цели. Это тот случай? Вот мой общий конфиг .

Используемая версия веб-пакета: 4.30.0.

1 Ответ

0 голосов
/ 24 апреля 2019

Я разобрался. В моем общем конфиге я использовал clean-webpack-plugin :

plugins: [
    new CleanWebpackPlugin(),
    ...
]

Очевидно, что при создании второй цели чистый плагин стирал первую цель.

Особенно, если вы развертываете из CI, вам не нужен этот плагин.

...