这是我的文件结构
-main.js
-SomeDir
-fileA.js
-fileB.js
如果我想在main.js
文件中加载someDir
目录下的每个文件,而不需要指定文件名,我该怎么办?
例如:require(./someDir/*.js)
这样的写法是否可行?
这是我的文件结构
-main.js
-SomeDir
-fileA.js
-fileB.js
如果我想在main.js
文件中加载someDir
目录下的每个文件,而不需要指定文件名,我该怎么办?
例如:require(./someDir/*.js)
这样的写法是否可行?
var req = require.context("../someDir", true, /^(.*\.(js$))[^.]*$/igm);
req.keys().forEach(function(key){
req(key);
});
// or just: req.keys().forEach(req)
正则表达式匹配js
但忽略test.js
/^(?!.*test.js)((.*\.(js\.*))[^.]*$)/igm)
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
这里有一个实时演示(打开开发者工具可以看到生成的对象)
http://www.webpackbin.com/Vy6AwkWrz
在你的情况下,第一行将是
var context = require.context('./SomeDir', false, /\.js$/);
参考文献:https://webpack.github.io/docs/context.html#require-context
var req = require.context('./', true, /\.js$/);
req([]);
然后在main.js中:
require('./SomeDir');
或者
require('./SomeDir/index.js');
import something from "./SomeDir";
req([])
和像被接受的答案那样在每个键上调用 req
有什么区别? - Roman Starkovreq([])
这一行出现了Uncaught Error: Cannot find module ''.
的错误,为什么它不起作用? - Yurii N.