Определите в файле веб-пакета, какая команда сценария package.json была запущена - PullRequest
0 голосов
/ 03 апреля 2019

В файле webpack.config.js публичный путь должен быть http://localhost:3000, когда я использую его в разработке (npm run dev), а для производства (npm run build) мне нужно, чтобы он был /dist.

В настоящее время, когда я хочу рабочую сборку, я всегда вручную изменяю publicPath с http://localhost:3000 на /dist.Есть ли способ, которым я могу сделать это автоматически на основе запуска команды сценария npm?он автоматически использует http://localhost:3000, когда npm run dev и /dist, когда npm run build.

package.json-file:

"scripts": {
    "build": "webpack --mode production",
    "dev": "webpack-dev-server --mode development",
},

webpack-file:

output: {
    path: path.join(__dirname, 'dist'),
    filename: 'bundle.js',
    // publicPath: 'http://localhost:3000'
    publicPath: '/dist'
},

1 Ответ

1 голос
/ 03 апреля 2019

Превратите экспорт модуля webpack.config.js в функцию и получите доступ к mode через argv:

module.exports = (env, argv) => {
    return {
        ...
        output: {
            path: path.join(__dirname, 'dist'),
            filename: 'bundle.js',
            publicPath: argv.mode === 'production' ? 'dist' : 'http://localhost:3000'
        }
    }
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...