如何在Ellixir webpack中创建多个入口点并使用CommonsChunkPlugin?

时间:2016-11-27 15:26:33

标签: laravel gulp webpack laravel-5.3 laravel-elixir

是否可以在Elixir中创建多个入口点(例如news.jslogin.js)并使用CommonsChunkPlugin(在所有入口点中包含一些常用代码,webpack代码等)的WebPack?或者我是否需要创建Webpack配置文件?

我创建了一个简单的webpack.config.js

var path = require("path");
var CommonsChunkPlugin = require("webpack/lib/optimize/CommonsChunkPlugin");

module.exports = {
    context: path.join(__dirname, "resources/assets"),

    entry: {
        login: "./js/login.js",
        post: "./js/post.js",
        common: "./js/common.js"
    },
    output: {
        path: path.join(__dirname, "public/js"),
        filename: "[name].js"
    },
    plugins: [
        new CommonsChunkPlugin({
            filename: "common.js",
            name: "common"
        })
    ]
};

但是Elixir使用它的正确方法是什么?

看起来它仍然需要一个文件路径,即mix.webpack()引发有关undefined的错误。

生产构建期间

mix.webpack('')失败并出现此错误:

Starting 'webpack'...

Hmm, not sure how to compress this type of file. Stick with CSS or JavaScript files!

mix.webpack(['post.js', 'login.js', 'common.js'])mix.webpack('*.js')似乎有效但看起来并不打算像这样使用,因为目标输出看起来很奇怪(虽然未创建all.js

┌───────────────┬───────────────────────────────┬────────────────────────────────┬────────────────────┐
│ Task          │ Summary                       │ Source Files                   │ Destination        │
├───────────────┼───────────────────────────────┼────────────────────────────────┼────────────────────┤
│ mix.webpack() │ 1. Transforming ES2015 to ES5 │ resources\assets\js\common.js  │ public\js\all.js   │
│               │ 2. Writing Source Maps        │ resources\assets\js\login.js   │                    │
│               │ 3. Applying Minification      │ resources\assets\js\post.js    │                    │
│               │ 4. Saving to Destination      │                                │                   

0 个答案:

没有答案