javascript – Webpack 4代码拆分为每条路由生成单独的供应商文件
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript – Webpack 4代码拆分为每条路由生成单独的供应商文件,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1914字,纯文字阅读大概需要3分钟。
内容图文
![javascript – Webpack 4代码拆分为每条路由生成单独的供应商文件](/upload/InfoBanner/zyjiaocheng/782/2658c3ffd88e4c13ad8bdac02ac9e16b.jpg)
我正在尝试使用代码拆分的webpack 4(4.0.1).我正在使用动态加载来加载React组件.反应组件又从内部npm模块导入组件.例如,
在我的应用程序中,我有以下路线.
<Route exact path="/" component={Home} />
<Route path="/about" component={About} />
<Route path="/topics" component={Topics} />
在每个Home,About和Topics组件中,我从我的内部npm模块导入一个组件(让我们说int-home,int-about等).
从’int-about’导出{App as default};
现在有了这个设置,webpack正在吐出与每个动态import相对应的额外供应商包
我的webpack配置可能有什么问题?如何确保在我的构建中生成单个供应商捆绑包?
下面是我的主应用程序的webpack配置.
const path = require('path');
const webpack = require('webpack');
const ExtractTextPlugin = require("extract-text-webpack-plugin");
const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin;
module.exports = {
entry :'./src/index.js',
output : {
filename: '[name].js',
chunkFilename: '[name].js',
path: path.resolve(__dirname, 'dist'),
publicPath:'dist/',
library : '',
libraryTarget:'umd'
},
resolve:{
extensions: ['.', '.js', '.jsx']
},
mode : process.env.NODE_ENV == 'production' ? 'production' : 'development',
module : {
rules : [
{
test: /\.css$/,
use: ExtractTextPlugin.extract({
fallback: 'style-loader',
use: {
loader:'css-loader',
options:{
minimize : true,
sourceMap: true,
modules:true,
localIdentName: '--[hash:base64:8]'
}
}
})
},
{ test: /\.jsx?$/, use: 'babel-loader' }
]
},
optimization:{
splitChunks:{
cacheGroups:{
vendor: {
chunks: 'initial',
test: path.resolve(__dirname, 'node_modules'),
name: 'vendors',
enforce: true,
},
},
}
},
plugins:[
new ExtractTextPlugin({
filename:"[name].css",
allChunks:true
}),
new webpack.EnvironmentPlugin({
NODE_ENV: process.env.NODE_ENV,
}),
new BundleAnalyzerPlugin({
analyzerMode : 'static'
})
]
}
解决方法:
从这个要点
https://gist.github.com/sokra/1522d586b8e5c0f5072d7565c2bee693#configurate-cache-groups
splitChunks: {
cacheGroups: {
commons: {
test: /[\\/]node_modules[\\/]
name: "vendors",
chunks: "all"
}
}
}
内容总结
以上是互联网集市为您收集整理的javascript – Webpack 4代码拆分为每条路由生成单独的供应商文件全部内容,希望文章能够帮你解决javascript – Webpack 4代码拆分为每条路由生成单独的供应商文件所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。