javascript - 是否可以在 webpack 的 require.context 调用中使用通配符?

标签 javascript webpack

我只希望 Webpack 查看名为“.stories”的目录中的文件,但它们可以位于 src/ 目录结构中的任意位置。

例如,我天真的尝试如下所示:

/*
src/
  some.story.js <-- don't get this
  |_components/
    |_Button/
      |_ .stories/ <--
        |_ index.js <-- ignore this
        |_ utils.js <-- ignore this
        |_ main.story.js <-- get this
    |_Forms/
      |_ TextField
        |_ .stories/ <-- same kind of thing
   */




// require.context API
// require.context(directory to search, shouldSearchSubDirs?, fileNameRegex)

require.context('src/**/.stories', true, /\.story\.js$/)

到目前为止,API 似乎希望我对文件名进行所有模式匹配。但是仅文件名不足以排除其他目录中的 .story.js 文件。我想允许 .stories/ 目录之外的 .story.js 文件,并让 Webpack 忽略它们。

这可能吗?我错过了什么?

阅读 official documentation 时, 这意味着第一个参数指定了一个特定的目录:

It allows you to pass in a directory to search, a flag indicating whether subdirectories should be searched too, and a regular expression to match files against.

一读这与我的目标背道而驰,但没有明确说明这是不可能的。 Webpack 是一个复杂的工具,很容易误解它的功能。

最佳答案

我知道已经很久了。但我会为其他人修正答案。

require.context('../src/components/', true, /\.stories\/[a-zA-Z0-9]+\.story.js$/);

关于javascript - 是否可以在 webpack 的 require.context 调用中使用通配符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45174974/

相关文章:

sass - 在每个文件中添加 common.sass 文件

javascript - 如何解决 Smarty 中的 jQuery 加载错误

javascript - 我可以在隐藏文本上写一个文本吗?如果隐藏文本通过 javascript 可见,我的文本将向右移动到隐藏文本..现在可见..?

javascript - 简单的 Firebase 数据检索

javascript - Webpack 4 - 没有正确缩小 css 和正确 uglify js

NPM 与 WEBPACK 比较

javascript - 从 JS/CSS 检测系统 DPI/PPI?

javascript - 默认勾选,如果不勾选则保持不勾选

javascript - 从 NodeJS 控制 Arduino

Webpack配置: Conditionally import module