我有一些旧式的ES5 JavaScript代码需要引入到使用webpack作为打包工具的应用程序中。问题在于这些文件所在的文件夹路径是动态的。看来webpack在require
中使用表达式时存在问题,而require.context
则根本不允许它们。
对于已知路径的目录,要求所有子目录中的文件,这种方法可以正常工作:
let domainRequires = require.context('./app/domain', true, /\.js$/);
domainRequires.keys().forEach(domainRequires);
由于无法在require.context
中使用表达式,我尝试使用普通的require
,但它无法工作:
require('../../path/to/code/my-library-' + versionNumber + '/domain/clazz.js');
使用完整的相对路径。
我还尝试使用require.context
,但加强了正则表达式部分以使其运行,但没有成功:
require.context('../../path/to/code', true, /^my-library-.*\/domain\/.*\.js$/);
欢迎任何想法、建议或解决方案。如果我需要在webpack中使用第三方工具,那也可以。