问题描述
我目前正在使用 ES5 和 Webpack 1 更新用 Typescript 编写的 Angular 2 项目,以使用 Webpack 5。
为了解决 cachebusting 的问题,在原始实例中,项目有一个 webpack.config
如下所示,以生成一个 json
文件,该文件将详细说明所创建的散列块的文件名。
module.exports = {
entry: {
app: "./app/client/client-app.ts",vendor: './app/client/client-vendor.ts',polyfills: './app/client/client-polyfills.ts'
},output: {
filename: "./app/libs/scripts/[name]-client.[chunkhash].js"
},module: {
loaders: [
{
test: /\.ts$/,loaders: ['awesome-typescript-loader','angular2-template-loader']
}
]
},plugins: [
new webpack.optimize.CommonsChunkPlugin({
name: ['app','vendor','polyfills']
}),new AssetsPlugin({
filename: 'webpack.assets.client.json',path: './app/libs/scripts',prettyPrint: true
}),]
}
{
"app": {
"js": "./app/libs/scripts/app-client.94fb68d639f7fe8ce258.js"
},"polyfills": {
"js": "./app/libs/scripts/polyfills-client.970ace7dddd5f34afb5b.js"
},"vendor": {
"js": "./app/libs/scripts/vendor-client.18346595f0e2d641067c.js"
}
}
在最新版本的 Webpack 5 中,它在 documentation 中声明,CommonsChunkPlugin
已被移除以支持 SplitChunksPlugin
。但是,当我进行如下调整时,json 文件仍然成功创建,但所有随附的 js
文件从未进入分配的存储库,尽管我的 {{ 1}} 窗口。我在这里有什么误解吗?
cmd
const AssetsPlugin = require('assets-webpack-plugin');
var assetsPlugin = new AssetsPlugin({
filename: 'webpack-assets.client.json',prettyPrint: true,removeFullPathAutoprefix: true,includeFilesWithoutChunk: true
});
module.exports = {
entry: {
app: './app/app.ts',polyfills: './app/polyfills.ts',vendor: './app/vendor.ts',},target: 'node',output: {
filename: './app/libs/scripts/[name]-client.[chunkhash].js',optimization: {
splitChunks: {
cacheGroups: {
default: false,vendors: false,vendor: {
chunks: 'all',test: /client-vendor.ts/
}
}
}
},module: {
rules: [
{
test: /\.ts$/,use: {
loader: 'ts-loader'
}
}
]
},mode: 'development',resolve: {
"fallback": {
"timers": require.resolve("timers-browserify")
}
},plugins: [assetsPlugin]
}
新生成的文件夹,缺少 {
"app": {
"js": "./app/libs/scripts/app-client.c8345edfa6da5d2ad827.js"
},"polyfills": {
"js": "./app/libs/scripts/polyfills-client.fc21049a83789be81a52.js"
},"vendor": {
"js": "./app/libs/scripts/vendor-client.d8b3a7d7af94ea7370c4.js"
}
}
个文件..
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)