Javascript 网页包需要目录中的每个文件

Javascript 网页包需要目录中的每个文件,javascript,webpack,Javascript,Webpack,这是我的文件结构 -main.js -SomeDir -fileA.js -fileB.js 如果我想加载someDir中的每个文件(在main.js内部),而不指定文件名,我该怎么办 类似于:require(./someDir/*.js)?解决方案: 额外: 正则表达式匹配js但忽略test.js /^(?。*test.js)((.\.(js\.*)[^.]*$)/igm)一种方法是在SomeDir位置和该文件中创建index.js文件: var req = require.co

这是我的文件结构

-main.js
-SomeDir
   -fileA.js
   -fileB.js
如果我想加载
someDir
中的每个文件(在
main.js
内部),而不指定文件名,我该怎么办

类似于:
require(./someDir/*.js)

解决方案: 额外: 正则表达式匹配
js
但忽略
test.js


/^(?。*test.js)((.\.(js\.*)[^.]*$)/igm)

一种方法是在SomeDir位置和该文件中创建index.js文件:

var req = require.context('./', true, /\.js$/);
req([]);
然后在main.js中:

require('./SomeDir');

甚至

import something from "./SomeDir";

是的,这是可能的,甚至在文件夹层次结构中也是递归的

以下是一个示例:

var context = require.context('./', true, /\.(html)$/);
var files={};

context.keys().forEach((filename)=>{
  console.log(filename);
  files[filename] = context(filename);
});
console.log(files); //you have file contents in the 'files' object, with filenames as keys
这里还有一个实时演示(打开devtools查看生成的对象)

在您的情况下,第一行是

var context = require.context('./SomeDir', false, /\.js$/);

参考资料:

我使用这种方法时出错,有什么建议吗?谢谢@NickMcCurdy不是反过来的吗?Webpack 1和Webpack 2,但没有Webpack它就无法工作。。。或者我遗漏了什么?对不起,我完全错了,这是我不知道的网页语法。删除我的评论。ES6版本对此有何要求?有人知道使用此方法需要多个目录吗?
req([])
和像接受的答案一样调用每个键上的
req
有什么区别吗?
未捕获错误:找不到模块“”。
req([])
行中,为什么不起作用?@JianWeihang好吧,这已经是3年前的事了,API改变了。。如果我没记错的话,它和Webpack1和Webpack2一起工作。只是提醒一下,那些链接已经过时了
var context = require.context('./', true, /\.(html)$/);
var files={};

context.keys().forEach((filename)=>{
  console.log(filename);
  files[filename] = context(filename);
});
console.log(files); //you have file contents in the 'files' object, with filenames as keys
var context = require.context('./SomeDir', false, /\.js$/);