манипулировать именем (первым) куском в вебпаке? - PullRequest
0 голосов
/ 05 ноября 2019

Это может быть странный вопрос, но история, стоящая за этим:

Мы хотим разделить код в проекте WordPress - насколько я знаю, вы должны быть конкретны с импортом файла JS в WordPress -поэтому исходный файл должен иметь статическое имя

plugin.php

...
plugins_url('dist/index.js',__FILE__ ),
...

с конфигурацией веб-пакета, подобной этой:

webpack.config.js

...
entry: {
    index: ["@babel/polyfill", path.join( __dirname, 'src/index.tsx' )],
},
output: {
    filename: '[name].js',
    path: path.resolve( __dirname, 'dist' ),
    publicPath: '/'
},
optimization: {
    splitChunks: {
        chunks: 'all'
    }
},
...

он должен выполнять эту работу, но возможно ли добавить хеш только к следующим разделителям?

с такой конфигурацией:

webpack.config.js

entry: {
    index: ["@babel/polyfill", path.join( __dirname, 'src/index.tsx' )],
},
output: {
    filename: '[name].[chunkhash].js',             // ONLY LINE CHANGED
    path: path.resolve( __dirname, 'dist' ),
    publicPath: '/'
},
optimization: {
    splitChunks: {
        chunks: 'all'
    }
},

все файлы получают хэш

есть предложения? : /

Спасибо за помощь:)

1 Ответ

0 голосов
/ 05 ноября 2019

Если вы хотите изменить имена чанков без записи, вы можете использовать output.chunkFilename.

В конечном итоге вы можете предоставить функцию как output.filename и реализовать любую логику, которую вынужно.

Из документов

module.exports = {
  //...
  output: {
    filename: (chunkData) => {
      return chunkData.chunk.name === 'main' ? '[name].js': '[name]/[name].js';
    },
  }
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...