Webpack Config: запрос опции режима при создании плагина - PullRequest
0 голосов
/ 08 июня 2018

Как мне поступить с запросом mode в моем webpack.config.js файле конфигурации?

Вот что я хочу сделать.У меня есть mode, установленный в моей конфигурации webpack:

module.exports = {
  mode: 'development'
}

Когда я инициализирую mini-css-extract-plugin, я хочу проверить значение mode:

plugins: [
  new MiniCssExtractPlugin({
    filename: (mode === 'development' ? '[name].css' : '[name].[hash].css',
    chunkFilename: (mode === 'development' ? '[id].css' : '[id].[hash].css',
  })
],

Очевидно, чтоне работаетКак мне запросить mode в рамках инициализации этого плагина?

Ответы [ 2 ]

0 голосов
/ 02 февраля 2019

моя идея.

пробег NODE_ENV=development webpack и NODE_ENV=production webpack или webpack

/* -------------------------------------
 *  webpack.config.js
 * ------------------------------------- */
const node_env = process.env.NODE_ENV ? process.env.NODE_ENV : 'production';
const devMode = node_env !== 'production';
if (devMode) {
   console.log('Looks like we are in development mode!');
}

module.exports = {
  mode: node_env,
...
  plugins: [
    new MiniCssExtractPlugin({
      filename: devMode ? '[name].[hash].css' : '[name].css',
      chunkFilename: devMode ? '[id].[hash].css' : '[id].css',
      }
    })
  ],
...
}
0 голосов
/ 08 июня 2018

Я нашел решение, которое позволяет мне получить доступ к mode в качестве аргумента, но я все же хотел бы найти способ доступа к свойству mode, как определено в конфигурации.

module.exports = (env, argv) => ({
  mode: 'development',
  plugins: [
    new MiniCssExtractPlugin({
      filename: (argv.mode === 'development') ? '[name].css' : '[name].[hash].css',
      chunkFilename: (argv.mode === 'development') ? '[id].css' : '[id].[hash].css',
    }),
  ],
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...