如何使用ts-loader忽略webpack中的测试文件

时间:2016-12-20 09:21:26

标签: typescript webpack

我有一个项目,用jest和ts-jest运行名为“* .test.ts”的测试文件。这很好,但是当我启动webpack时,我会收到测试文件的错误:

Activity

如何修复webpack配置以完全忽略测试文件?

这是webpack配置:

 public class FirstFragment extends Fragment {
 private Activity mActivity;
     @Override
        public void onAttach(Context context) {
            super.onAttach(context);
            mActivity = (Activity) context;//use this one .. this is MainActivity instance u can use this as MainActivity mMainActivity = (MainActivity)mActivity;
        }
  }

[编辑]

我使用测试功能来记录看到的文件并且测试文件没有出现在那里,所以问题不在webpack上,包括错误的文件,而是打字机行为不正常(因为测试工作正常)。

3 个答案:

答案 0 :(得分:6)

我最终解决了这个问题,但是以不同的方式,即将以下设置添加到我的.tsconfig文件中:

"include": [
    "./lib/**/*"
],
"exclude": [
    "./lib/__tests__"
]

不确定为什么OP和公司没有提出这个问题。也许他们已经在.tslint文件中设置了这些设置(例如,因为他们的项目是从另一个项目生成或分叉的。)

但看起来TypeScript(至少从2.3.2开始)会关注这些设置并忽略webconfig.config.js中的等效设置。

答案 1 :(得分:3)

您可以为loader test属性指定函数而不是正则表达式;这可以让你更有控制力。

test: function (modulePath) {
  return modulePath.endsWith('.ts') && !modulePath.endsWith('test.ts');
}

答案 2 :(得分:1)

找到它。我的'ts-loader'版本落后了,不知何故无法正确处理已安装的@types。

经验法则:打包,构建,转换问题:升级dev依赖