Почему [имя] всегда главное в MiniCssExtractPlugin для веб-пакета? - PullRequest
1 голос
/ 09 февраля 2020

В веб-пакете при настройке MiniCssExtractPlugin я не понимаю, почему [имя] всегда является «основным»?

 plugins: [
   new MiniCssExtractPlugin({
      filename: 'assets/css/[name].css' // where does the name "main" come from?
    }) 
  ]

Как я могу передать переменную так, чтобы [name] было именем моего приложения, а не «main», без жесткого кодирования, например filename: 'assets/css/myapp.css'?

Webpack output config:

module.exports = {
  entry: './src/app.js',
  output: {
    path: utils.resolve('/dist'),
  },

Самое странное, что даже Webpack создает основной файл пакета как main.js. Почему основной?

1 Ответ

2 голосов
/ 12 февраля 2020

[name] - это имя точки входа.

Если точка входа - String или Array, веб-пакет будет использовать имя записи по умолчанию main на основе на https://github.com/webpack/webpack/blob/6f413ae2e63897aef5e1956cb1c351ab33f6dbfe/lib/EntryOptionPlugin.js#L76.

Вы можете указать точку входа в виде объекта,

module.exports = {
  entry: { myName: './src/app.js'},
  output: {
    path: utils.resolve('/dist'),
  },
  ...
}

, который изменит имя записи на myName.

...