我有大量的javascript文件在我的应用程序中分成4个子目录。在grunt中,我抓取所有它们并将它们编译成一个文件。这些文件没有module.exports函数。
我想用webpack,把它分成4个部分。我不想手动进入并需要我所有的文件。
我想创建一个插件,它在编译时遍历目录树,然后获取所有.js文件名和路径,然后要求在子目录中的所有文件并将其添加到输出中。
我希望将每个目录中的所有文件编译到一个模块中,然后我可以从我的入口点文件中要求该模块,或者将其包括在http://webpack.github.io/docs/plugins.html提到的资产中。
当添加一个新文件时,我只想将它放到正确的目录中,并知道它将被包括在内。
有没有办法用webpack或者别人写的插件来做到这一点呢?
发布于 2015-06-05 03:08:17
为了实现这一点,我做了以下工作:
function requireAll(r) { r.keys().forEach(r); }
requireAll(require.context('./modules/', true, /\.js$/));
发布于 2015-04-03 08:28:37
在我的应用程序文件中,我最终将
require.context(
"./common", // context folder
true, // include subdirectories
/.*/ // RegExp
)("./" + expr + "")
由本文提供:https://github.com/webpack/webpack/issues/118
它现在正在添加我的所有文件。我有一个html和css的加载器,它似乎工作得很好。
发布于 2017-05-11 12:16:14
一个文件夹中所有文件的映射如何?
// {
// './image1.png': 'data:image/png;base64,iVBORw0KGgoAAAANS',
// './image2.png': 'data:image/png;base64,iVBP7aCASUUASf892',
// }
执行以下操作:
const allFiles = (ctx => {
let keys = ctx.keys();
let values = keys.map(ctx);
return keys.reduce((o, k, i) => { o[k] = values[i]; return o; }, {});
})(require.context('./path/to/folder', true, /.*/));
https://stackoverflow.com/questions/29421409
复制相似问题