是否可以在Elixir中创建多个入口点(例如news.js
,login.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 │ │