【问题标题】:Webpack exclude spec filesWebpack 排除规范文件
【发布时间】:2016-12-20 14:44:38
【问题描述】:

我正在使用结合 Aurelia 和 Typescript 的 Webpack。对于我的项目设置,我使用了 Aurelia 骨架:https://github.com/aurelia/skeleton-navigation/tree/master/skeleton-typescript-webpack 我不喜欢规范文件位于与应用程序文件不同的目录下。所以我将所有规范文件移动到同一个文件夹中。这导致将所有规范文件与我的应用程序文件一起捆绑到应用程序包中,这当然是不可取的。

我的印象是 Webpack 只加载入口文件(在 Skeleton 项目中,这是 ./src/main 文件),而他又加载了所有其他必要的文件。这意味着我的规范文件不应该被包含在内,但它们确实......

我错了还是我在这里遗漏了什么?

编辑:制作了我的应用程序的依赖关系图,发现该文件正在加载我的所有规范文件: ./~/aurelia-loader-webpack/dist/commonjs/aurelia-loader-webpack.js

这个文件正在运行这个匹配所有文件的正则表达式:./src ^\.\/.*$

【问题讨论】:

  • 他们不应该。这就是在test/spec.bundle.js 中导入所有规范文件的原因:var testContext = require.context('./unit', true, /\.spec\.(ts|js)$/);。您能否分解并提供有关您的文件结构和主要导入的更多信息?您提供的骨架不应该受到奇怪的进口恕我直言的影响。
  • @dotcs 对我的问题进行了编辑。这是否意味着问题出在aurelia-loader-webpack?估计不对吧?我一定是错过了什么。

标签: typescript webpack aurelia


【解决方案1】:

除非您为它指定 includeAll 选项,否则 webpack-plugin 不再是这种情况。 当您指定入口点时,webpack 将仅跟踪引用的模块,因此规范文件不会进入任何包。除非您专门导入它们。

【讨论】:

    猜你喜欢
    • 2016-06-18
    • 2017-10-12
    • 2017-11-06
    • 2018-07-12
    • 2020-05-05
    • 2018-12-22
    • 1970-01-01
    • 1970-01-01
    • 2020-07-22
    相关资源
    最近更新 更多