Webpack捆绑并缩小目录中的所有javascript文件不起作用



我需要在资产/目录中捆绑和缩小5个javascript文件。

我有以下设置,但它不适合我。

const webpack = require("webpack");
module.exports = {
entry: {
"bundle": ".assets/*",
},
output: {
path: "./dist",
filename: "bundle.js"
},
plugins: [
new webpack.optimize.UglifyJsPlugin({
include: /.js$/,
minimize: true
})
]
};

不确定通配符运算符是否达到了我认为的效果。

Webpack不支持wilcard运算符,正如您在本期中看到的那样https://github.com/webpack/webpack/issues/370

然而,您可以尝试上面提到的替代解决方案,这应该是您想要的(如果您愿意安装glob依赖项(:

var glob = require("glob");
module.exports = {
entry: {
"bundle": glob.sync("./assets/*"),
},

(*(您在配置中也有拼写错误,.assets/*应该是./assets/*

查看webpack的文档,我认为你不能为字符串指定这样的模式,我认为它需要一个文件的路径。您可以在资产中传递一个文件名数组,也可以传递一个返回文件夹中文件的函数:

entry: ['./assets/asset1.js', './assets/asset2.js' ...]

entry: () => fs.readdirSync('./assets')

有更多的选择,但这两个似乎是最简单的。

但是,如果不能通过一个入口点访问所有入口点,我认为不能在一个输出文件中包含多个入口点。相反,它们每个都必须被输出到自己的包中。

这对你有用吗?

"entry": "assets/index.js"

我想知道这个条目是否应该只是一个导入其他文件的文件。

最新更新