webpack 配置:从 *.js entry/bundle 文件名中删除散列
webpack configuration: remove hash from *.js entry/bundle files names
我正在做一个 vue.js 应用程序。
构建后生成一个 js 文件 "background.2a548437.js" 而不是我想要的 "background.js"。
我正在通过 "vue.config.js" 文件进行 webpack-chain 配置。
为了诊断,我正在读取“$vue inspect”的结果,但我看不到应该调整哪个参数以从 js 文件中删除散列。
我确实看到了像 'img/[name].[hash:8].[ext]' 这样的模式,但对于 js 它是 'js/[name].js'
您有任何解决方案或线索吗?
Context/Why:
它使用 webpack "^4.0.0" 和 webpack-chain "^6.3.1" 通过 "vue.config.js".
配置
我正在做一个 chrome 插件,它有一个引用 "background.js".
的静态 manifest.json 文件
我将深入研究使 webpack 使用正确的 "background.[hash].js" 文件构建 manifest.json 文件
但我认为如果我能在文件名中找到禁用散列的选项会更容易
// 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 },
]),
]
}
}
编辑:
$vue 检查的结果。它太长了所以我 link 一个 pastebin
https://pastebin.com/fbRzgfhY
在花了很长时间试图了解 webpack-chain、webpack 及其插件的工作原理之后,我在 vue 文档中找到了简单的 "filenameHashing" falg:https://cli.vuejs.org/config/#indexpath
这是我的 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 },
]),
]
}
}
我正在做一个 vue.js 应用程序。
构建后生成一个 js 文件 "background.2a548437.js" 而不是我想要的 "background.js"。
我正在通过 "vue.config.js" 文件进行 webpack-chain 配置。
为了诊断,我正在读取“$vue inspect”的结果,但我看不到应该调整哪个参数以从 js 文件中删除散列。
我确实看到了像 'img/[name].[hash:8].[ext]' 这样的模式,但对于 js 它是 'js/[name].js'
您有任何解决方案或线索吗?
Context/Why:
它使用 webpack "^4.0.0" 和 webpack-chain "^6.3.1" 通过 "vue.config.js".
配置我正在做一个 chrome 插件,它有一个引用 "background.js".
的静态 manifest.json 文件我将深入研究使 webpack 使用正确的 "background.[hash].js" 文件构建 manifest.json 文件 但我认为如果我能在文件名中找到禁用散列的选项会更容易
// 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 },
]),
]
}
}
编辑: $vue 检查的结果。它太长了所以我 link 一个 pastebin https://pastebin.com/fbRzgfhY
在花了很长时间试图了解 webpack-chain、webpack 及其插件的工作原理之后,我在 vue 文档中找到了简单的 "filenameHashing" falg:https://cli.vuejs.org/config/#indexpath
这是我的 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 },
]),
]
}
}