Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Webpack Web包从应用程序拆分节点模块_Webpack_Code Splitting - Fatal编程技术网

Webpack Web包从应用程序拆分节点模块

Webpack Web包从应用程序拆分节点模块,webpack,code-splitting,Webpack,Code Splitting,我的堆栈: NodeJS+反应+…+狼吞虎咽+网页包2.1 在将ES6转换为common JS时,我想将我的项目代码分成两个包:一个包包含节点模块,另一个包仅包含我的应用程序代码。如何在不明确指定要放入节点模块捆绑包的每个模块的情况下实现这一点 从中,我看不到指定应用作条目的目录的方法。有人知道怎么做吗 关于您应该使用CommonChunk插件。在文档中有一个 但您的配置应如下所示: var webpack = require("webpack"); var ExtractTextPlugin

我的堆栈: NodeJS+反应+…+狼吞虎咽+网页包2.1

在将ES6转换为common JS时,我想将我的项目代码分成两个包:一个包包含节点模块,另一个包仅包含我的应用程序代码。如何在不明确指定要放入节点模块捆绑包的每个模块的情况下实现这一点

从中,我看不到指定应用作条目的目录的方法。有人知道怎么做吗


关于

您应该使用CommonChunk插件。在文档中有一个

但您的配置应如下所示:

var webpack = require("webpack");
var ExtractTextPlugin = require('extract-text-webpack-plugin');

module.exports = {
    entry: {
      vendor: ['jquery', 'moment', 'other modules'],
      app: './src/app.js'
    },
    output: {
        filename: '[name].js'
 },
 plugins: [
   new webpack.optimize.CommonsChunkPlugin({
     name: 'vendor',
     minChuncks: Infinity
   })
 ]
};

我想你需要,他们的例子展示了如何将你的应用程序拆分为app.js和vendor.js捆绑包。

使用webpack-4优化。splitChunks.chunks='all'你可以将所有节点模块放入一个名为vendors~main.js的文件中,而无需明确定义依赖关系。

我确实使用
CommonChunkPlugin
但是,根据您的示例,我必须手动定义所有的节点模块:
供应商:['jquery','moment','other modules']
。我不想手动定义它们是的,你是对的。我急忙回答你的问题。@DamienLeroux你有解决这个问题的办法吗??是否有任何方法可以显式指向nodejs模块依赖项?`output:{path:path.resolve(_dirname,'./public/')、filename:'[bundle]-[chunkhash].js',chunkFilename:'[vendor]-[chunkhash].js',}、optimization:{splitChunks:{name:'vendor',chunks:'all'},},`这是正确的设置方法吗?这会生成两个输出,但它们是
[bundle]-一些散列
.js如何正确命名和引用它们?