ts-node在OS X上运行测试,但不在Ubuntu中运行

时间:2018-08-02 14:16:18

标签: javascript typescript webpack mocha ts-node

我在Linux上运行测试但运行正常并传入OS X时抛出TS-Error,这是一个奇怪的问题。

该项目使用Typescript编写,并通过Mocha(使用ts-node)进行了测试。当我在OS X上运行测试时,我没有遇到任何问题,但是一旦我尝试在Linux机器上运行它们,它们就会失败,并给出错误消息:

错误TS6054:文件'/[user]/workspace/content-delivery-application/templates/footer.html.twig'具有不受支持的扩展名。唯一受支持的扩展名是'.ts','。tsx','。d.ts','。js','。jsx'

我确实在源代码中包含了Twig文件,这些文件是作为Webpack构建过程的一部分捆绑在一起的,我将它们包装在try catch中,并在模板的位置返回存根函数。但是,测试代码是通过TS节点在预编译的TS文件上运行的,因此文件尚未打包。尽管我想强调一点,但是“解决方法”的尝试捕获已在我的OS X中正常工作。

我的摩卡咖啡选择如下:

boolean isStartingPointWritten = false;

还有我的tsconfig:

if(!isStartingPointWritten) {
    // write your userMap to the database
    isStartingPointWritten = true;
}

罪魁祸首功能:

--require ts-node/register
--require source-map-support/register
--full-trace
--recursive
--timeout 10000
test/**/*.spec.ts

我很赞赏这是很多文字,因此感谢您的阅读。请让我知道,如果您对造成此问题的原因有任何想法。

1 个答案:

答案 0 :(得分:0)

  

错误TS6054:文件'/[user]/workspace/content-delivery-application/templates/footer.html.twig'具有不受支持的扩展名。唯一受支持的扩展名是'.ts','。tsx','。d.ts','。js','。jsx'

这是TypeScript 编译时间错误。在不同的操作系统上,相同版本的TypeScript 应该给出相同的结果。因此,您的TypeScript版本在mac和ubuntu上是不同的。使它们一致,您将获得一致的错误(或没有错误)体验。