конфигурация webpack: удалить хеш из имен файлов записи / пакета *.js
Я делаю приложение vue.js.
После сборки он сгенерирует js-файл "background.2a548437.js" вместо "background.js", который мне нужен.
Я выполняю настройку цепочки пакетов через файл "vue.config.js".
Для диагностики я читаю результат "$vue inspect", но не вижу, какой параметр следует настроить, чтобы удалить хэш из файлов js.
Я вижу шаблоны вроде 'img/[name].[Hash:8].[Ext]', но для js это 'js/[name].js' "
У вас есть какие-либо решения или предложения?
Контекст / Почему:
Он использует webpack "^4.0.0" и webpack-chain "^6.3.1" для настройки через "vue.config.js".
Я делаю хром-плагин, в котором есть статический файл manifest.json, ссылающийся на "background.js".
Я буду копаться в создании webpack, создавая файл manifest.json с правильным файлом "background.[Hash].js", но я подумал, что будет проще, если я смогу найти варианты отключения хеша в имени файлов.
// vue.config.js
const CopyWebpackPlugin = require('copy-webpack-plugin');
module.exports = {
chainWebpack: config => {
// add your custom entry point
config
.entry('background')
.add('./src/background.ts');
},
configureWebpack: {
plugins: [
new CopyWebpackPlugin([
{ from: 'manifest.json', to: 'manifest.json', flatten: true },
]),
]
}
}
edit: результат $vue inspect. это слишком долго, поэтому я связываю pastebin https://pastebin.com/fbRzgfhY
1 ответ
Потратив так много времени на попытки понять, как работает webpack-chain, webpack и его плагины, я обнаружил простой фалг "filenameHashing" в документации по vue: https://cli.vuejs.org/config/
Вот содержимое моего файла vue.config.js:
// vue.config.js
const CopyWebpackPlugin = require('copy-webpack-plugin');
module.exports = {
filenameHashing: false, // <=================line that matters
chainWebpack: config => {
// add your custom entry point
config
.entry('background')
.add('./src/background.ts');
},
configureWebpack: {
plugins: [
new CopyWebpackPlugin([
{ from: 'manifest.json', to: 'manifest.json', flatten: true },
]),
]
}
}