Webpack - 如何捆绑/要求文件夹的所有文件(子文件夹)

时间:2018-02-26 13:55:38

标签: javascript webpack bundle atom-editor

我正在尝试查看运行webpack捆绑包的方式是否更短,以及我的装载程序无法正常工作的原因。

这是我的代码:

module.exports = {
context: path.join(__dirname, 'dist'),
entry: ['./ES6bundle.js', './jQuery.js'],
output: {
    filename: 'bundle.js',
    path: path.join(__dirname, 'dist')
}
};
// module: {
//     loaders: [{
//         test: /\.js?$/,
//         exclude: /node_modules/,
//         loader: 'babel-loader',
//         query: {
//             presets: ['env']
//         }
//     }]
// };

module.exports有效,但是当我运行加载器时,我会收到错误。

我的另一个问题是将多个条目合并到一个文件中 我正在处理的项目有很多JS文件,我想知道是否有多个条目的快捷方式。我可以抓取同一文件夹中的所有JS文件,还是有一个JS文件来要求它们全部,而不是输入多个条目的文件名?

让我知道这是否有意义。我对编程比较陌生。谢谢!

2 个答案:

答案 0 :(得分:4)

关于问题的第二部分:

  

我可以获取同一文件夹中的所有JS文件,还是有JS文件   要求他们全部

您可以拥有一个条目文件,然后执行以下操作:

module.exports = {
    context: path.join(__dirname, 'dist'),
    entry: ['./jQuery.js', './allJsFilesOfFolder.js'],

<强> allJsFilesOfFolder.js:

require.context("../scripts/", true, /\.js$/);

这将捆绑scripts及其所有subfolders内的所有脚本。

您需要安装@types/webpack-env才能拥有context

如果您只想捆绑false文件夹中的脚本,请指定scripts

您可以对图片等其他资源执行相同操作,只需调整regex

即可

答案 1 :(得分:0)

将@Legends评论复制为答案。

  

没有vue文件的经验,但正如我所说,你不仅可以捆绑js文件,还可以捆绑图像文件,例如图像文件的正则表达式将是:/。(png | ic | svg | .jpg | gif) $ /