首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在不使用REQUIRE语句的情况下使用webpack加载目录中的所有文件

如何在不使用REQUIRE语句的情况下使用webpack加载目录中的所有文件
EN

Stack Overflow用户
提问于 2015-04-03 03:57:42
回答 5查看 90.9K关注 0票数 103

我有大量的javascript文件在我的应用程序中分成4个子目录。在grunt中,我抓取所有它们并将它们编译成一个文件。这些文件没有module.exports函数。

我想用webpack,把它分成4个部分。我不想手动进入并需要我所有的文件。

我想创建一个插件,它在编译时遍历目录树,然后获取所有.js文件名和路径,然后要求在子目录中的所有文件并将其添加到输出中。

我希望将每个目录中的所有文件编译到一个模块中,然后我可以从我的入口点文件中要求该模块,或者将其包括在http://webpack.github.io/docs/plugins.html提到的资产中。

当添加一个新文件时,我只想将它放到正确的目录中,并知道它将被包括在内。

有没有办法用webpack或者别人写的插件来做到这一点呢?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2015-06-05 03:08:17

为了实现这一点,我做了以下工作:

代码语言:javascript
复制
function requireAll(r) { r.keys().forEach(r); }
requireAll(require.context('./modules/', true, /\.js$/));
票数 128
EN

Stack Overflow用户

发布于 2015-04-03 08:28:37

在我的应用程序文件中,我最终将

代码语言:javascript
复制
require.context(
  "./common", // context folder
  true, // include subdirectories
  /.*/ // RegExp
)("./" + expr + "")

由本文提供:https://github.com/webpack/webpack/issues/118

它现在正在添加我的所有文件。我有一个html和css的加载器,它似乎工作得很好。

票数 40
EN

Stack Overflow用户

发布于 2017-05-11 12:16:14

一个文件夹中所有文件的映射如何?

代码语言:javascript
复制
// { 
//   './image1.png':  'data:image/png;base64,iVBORw0KGgoAAAANS',
//   './image2.png':  'data:image/png;base64,iVBP7aCASUUASf892',
// }

执行以下操作:

代码语言:javascript
复制
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, /.*/));
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29421409

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档