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
Javascript 网页包插件未按预期工作_Javascript_Webpack - Fatal编程技术网

Javascript 网页包插件未按预期工作

Javascript 网页包插件未按预期工作,javascript,webpack,Javascript,Webpack,正如上面所说: 如果你的条目块有一些共同的模块,那么有一个很酷的插件。CommonChunkPlugin识别公共模块并将它们放入一个commons块中 My webpack.config.js: var path = require("path"); var webpack = require("webpack"); module.exports = { entry: { p1: "./page1", p2: "./page2", p3:

正如上面所说:

如果你的条目块有一些共同的模块,那么有一个很酷的插件。CommonChunkPlugin识别公共模块并将它们放入一个commons块中

My webpack.config.js:

var path = require("path");
var webpack = require("webpack");

module.exports = {
    entry: {
        p1: "./page1",
        p2: "./page2",
        p3: "./page3"
    },
    output: {
        filename: "[name].entry.js",
        path: path.join(__dirname, "dist"),
        publicPath: "/dist/",
        chunkFilename: "[id].chunk.js"
    },
    plugins: [
        new webpack.optimize.CommonsChunkPlugin('commons.chunk.js'),
    ]
}
page1.js:
require(['jquery','lodash'],函数($){/*page1*/})

page2.js:
require(['jquery','svgjs'],函数($){/*page2*/})

page3.js:
require(['jquery','scriptjs'],函数($){/*page3*/})

我期望从
webpack--progress--colors--display chunks
中看到的是
commons.chunk.js
将包含
jquery
代码,但不是
commons.chunk.js
只包含初始的网页内容。每个页面块都包含
jquery
code

网页包输出:

Hash: b931a47382d3148a8b55  
Version: webpack 1.12.14
Time: 696ms
           Asset       Size  Chunks             Chunk Names
     p1.entry.js  333 bytes    0, 6  [emitted]  p1
      1.chunk.js     761 kB    1, 6  [emitted]  
     p2.entry.js  333 bytes    2, 6  [emitted]  p2
      3.chunk.js     389 kB    3, 6  [emitted]  
     p3.entry.js  333 bytes    4, 6  [emitted]  p3
      5.chunk.js     271 kB    5, 6  [emitted]  
commons.chunk.js    3.52 kB       6  [emitted]  commons.chunk.js
chunk    {0} p1.entry.js (p1) 61 bytes {6} [rendered]
    [0] ./page1.js 61 bytes {0} [built]
chunk    {1} 1.chunk.js 738 kB {0} [rendered]
     + 3 hidden modules
chunk    {2} p2.entry.js (p2) 60 bytes {6} [rendered]
    [0] ./page2.js 60 bytes {2} [built]
chunk    {3} 3.chunk.js 376 kB {2} [rendered]
     + 2 hidden modules
chunk    {4} p3.entry.js (p3) 63 bytes {6} [rendered]
    [0] ./page3.js 63 bytes {4} [built]
chunk    {5} 5.chunk.js 262 kB {4} [rendered]
     + 2 hidden modules
chunk    {6} commons.chunk.js (commons.chunk.js) 0 bytes [rendered]

我做错了吗?或者我误解了什么?

所以在不安的夜晚之后,我找到了解决办法<代码>要求()
是。如果我想
pluginmagic
工作,我应该
define
页面:

page1.js:
define(['jquery','lodash'],函数($){/*page1*/})

page2.js:
define(['jquery','svgjs'],函数($){/*page2*/})

page3.js:
define(['jquery','scriptjs'],函数($){/*page3*/})

在我的例子中,最好将
jquery
移动到显式定义的块