我需要在资产/目录中捆绑和缩小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"
我想知道这个条目是否应该只是一个导入其他文件的文件。