即使在 webpack 配置中拆分后,供应商代码仍然位于 bundle.js 文件中

2024-03-12

使用下面的 webpack 配置,我仍然在 bundle.js 文件中获取供应商代码。(即使在代码分割之后,bundle.js 的大小也保持不变)。 我希望供应商代码不应出现在bundle.js 中

遵循某些链接,但没有帮助。 (https://github.com/dmachat/angular-webpack-cookbook/wiki/Split-app-and-vendors https://github.com/dmachat/angular-webpack-cookbook/wiki/Split-app-and-vendors)

'use strict';

 var webpack = require('webpack');

module.exports = {
context: __dirname + '/client/js',
entry: {
    source: ['./init.jsx'],
    vendor: ['react',
        'react-dom',
        'redux',
        'axios',
        'ramda-fantasy',
        'ramda',
        'react-json-tree',
        'react-tooltip',
        'validator']
},
output: {
    filename: "[name].bundle.js"
},
resolve: {
    modulesDirectories: ['node_modules'],
    extensions: ['', '.js', '.jsx']
},
module: {
    loaders: [
        { test: /\.json$/, loader: 'json-loader' },
        {
            loader: 'babel-loader',
            exclude: /node_modules/,
            query: {
                presets: ['react', 'es2015', 'stage-0']
            }
        },
        { test: /\.css$/, loader: "css-loader" },
    ]
},

plugins: [new webpack.optimize.CommonsChunkPlugin({
    name: 'vendor',
    chunks: ['vendor'],
    filename: 'vendor.js',
    minChunks: Infinity
})
],

devtool: 'source-map',

node: {
    console: true,
    fs: 'empty',
    net: 'empty',
    tls: 'empty'
},

 target: 'web'
};

根据Webpack文档here https://webpack.js.org/plugins/commons-chunk-plugin/, CommonsChunkPlugin 已被弃用,并在版本 4 之后被删除。原因是 - 这可能就是为什么它不能与您一起工作,它已被证明在异步块上效率低下,并且也难以使用(例如:当设置了 child 时)为 true,这仅适用于直接子级),因此配置不会包含共享模块的 3 级依赖关系。

请选择SplitChunks插件 https://webpack.js.org/plugins/split-chunks-plugin/。这应该可以解决你的问题。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

即使在 webpack 配置中拆分后,供应商代码仍然位于 bundle.js 文件中 的相关文章

随机推荐

  • 如何在 ASP.NET 5 中将实体框架 6 与 MySQL 结合使用?

    我有一个使用 ASP NET MVC 4 Entity Framework 6 和 MySQL 的现有网站 我正在尝试将其升级到 ASP NET 5 但希望继续使用实体框架 6 因为实体框架缺少一些功能并且尚不支持 MySQL 如何在 AS
  • 如何在条形图上方注释geom_bar?

    我正在尝试使用 ggplot2 做一个简单的绘图 library ggplot2 ggplot diamonds aes x cut y depth geom bar stat identity color blue facet wrap
  • R - 如何将数据转换为块形式以进行弗里德曼测试?

    在此输入图像描述 https i stack imgur com N0cvs png我有一些与治疗前后血液中化学物质水平有关的数据 有 4 个治疗组 ABCD 有人告诉我可以运行弗里德曼测试来立即比较所有这些变量 我尝试过的代码是 atta
  • 如何限制极坐标的显示宽度,以便以清晰的方式打印宽数据帧?

    考虑下面的例子 pd set option display width 50 pl DataFrame data np random randint 0 20 size 10 42 columns list abcdefghijklmnop
  • EF 中的 CurrentDateTime()

    我使用这段代码来获取服务器日期 但我真的不明白 CreateDateTime 不是一个 sql 函数 那么它是什么 DateTime ServerDate Entities CreateQuery
  • Python matplotlib 减小颜色条标签的大小

    我需要你的帮助 我有一个绘图代码如下 fig plt figure ax1 fig add subplot 111 imax1 ax1 imshow data interpolation nearest origin lower cmap
  • Log4J - 类似 SiftingAppender 的功能

    我在一个使用的项目中工作Log4J http logging apache org log4j 1 2 index html 要求之一是为每个线程创建一个单独的日志文件 这本身就是一个奇怪的问题 通过动态创建一个新的 FileAppende
  • 在 Matlab 图中重叠两个轴

    我正在寻找一种方法来覆盖 x y 时间序列 比如用 plot 创建的 在 contourf 生成的显示之上 在 y 轴上具有不同的缩放比例 似乎在两个 x y 图的情况下执行此操作的典型方法是使用内置函数 plotyy 它甚至可以由 plo
  • 实体框架代码优先一对一必需-必需关系

    使用 Entity Framework Code First 4 3 1 时 可以创建具有多重性的 1 对 1 关系 也就是说 关系的每一端都有一个实体 可以将一对一关系配置为需要 需要 or 必需 可选 然而 当我在两者之间切换时 我没有
  • Spark - 它如何在节点周围分发数据?

    Spark如何将数据分发给worker 工作人员是从数据源读取数据 还是驱动程序读取数据并将其发送给工作人员 当一个工作人员需要另一个工作人员中的数据时 他们是否直接进行通信 Thanks 如果您使用分布式输入法 例如SparkContex
  • 如果对于屏幕来说太长,则使水平单选按钮换行

    所以我有以下单选按钮 我想让它们像这样显示 然而 出现这种情况 我怎样才能让它像上面那样显示 我可以在 Eclipse 中的 GUI 编辑器中移动它 但它会从 RadioGroup 中删除 RadioButton 在组内 它忽略所有其他布局
  • 对象初始值设定项和构造函数有什么区别?

    两者之间有什么区别 何时使用 对象初始值设定项 而不是 构造函数 反之亦然 我正在使用 C 如果这很重要的话 另外 对象初始值设定项方法是否特定于 C 或 NET 对象初始值设定项是 C 3 中添加的内容 目的是在使用对象时简化对象的构造
  • 强制抽象类属性由具体类实现

    考虑这个抽象类和实现它的类 from abc import ABC class FooBase ABC foo str bar str baz int def init self self bar bar self baz baz clas
  • 无论如何,在一个 neo4j 实例上有多个数据库?

    从关系数据库的思维方式来看 每个 Neo4j 实例只有一个图形数据库似乎很奇怪 我们的想法是从根开始创建多个子图吗 Thanks 根 节点的概念正在消失 这存在很多问题 其中大部分与节点密度有关 我相信您问题的核心在于数据库设计 以及拥有多
  • Eclipse 类似于:“无法确定 [项目名称]/[文件路径]/[文件名称] 的 URI”

    主要问题 我在 Eclipse Luna 上遇到以下错误 有一天 您上班并尝试启动 Eclipse 并提高工作效率 但是工作台一打开 您就会看到所有文件选项卡都出现错误 如下所示 无法确定 my project path to file f
  • 与 object.prop 相比,使用 `in` 有什么好处?

    我们都看到该功能检测到执行以下操作 var touch function return ontouchstart in window 但我想知道使用它是否还有其他好处in类似这样的操作符 这可以节省一些字节 var touch functi
  • 获取 JavaScript 对象的第一个键名称[重复]

    这个问题在这里已经有答案了 假设我们有以下 JavaScript 对象 ahash one 1 2 3 two 4 5 6 是否有一个函数可以返回给定对象的第一个键名称 从上面的例子我想得到one作为该功能的结果 在 JavaScript
  • netty ChannelInboundHandlerAdapter 将帧裁剪为 ~1500 字节

    我已经实现了一个服务器应用程序 它使用 netty 框架通过 ChannelInblundHandlerAdapter 读取传入的字节 如标题所示 我的问题是 我不定期地从客户端获取内容 我认为这些内容在 1 500 字节后被剪切 例如 在
  • OSGi 声明性服务的绑定顺序

    假设我使用 OSGi 声明性服务 并且我有一个服务 该服务具有多个带有策略 动态的引用 A 强制一元 B 强制一元 C 强制倍数 D 可选一元 E 可选的多个 当我的服务开始时 所有参考资料都可用 有没有办法控制bind的调用顺序 我想让
  • 即使在 webpack 配置中拆分后,供应商代码仍然位于 bundle.js 文件中

    使用下面的 webpack 配置 我仍然在 bundle js 文件中获取供应商代码 即使在代码分割之后 bundle js 的大小也保持不变 我希望供应商代码不应出现在bundle js 中 遵循某些链接 但没有帮助 https gith