我在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
我很赞赏这是很多文字,因此感谢您的阅读。请让我知道,如果您对造成此问题的原因有任何想法。
答案 0 :(得分:0)
错误TS6054:文件'/[user]/workspace/content-delivery-application/templates/footer.html.twig'具有不受支持的扩展名。唯一受支持的扩展名是'.ts','。tsx','。d.ts','。js','。jsx'
这是TypeScript 编译时间错误。在不同的操作系统上,相同版本的TypeScript 应该给出相同的结果。因此,您的TypeScript版本在mac和ubuntu上是不同的。使它们一致,您将获得一致的错误(或没有错误)体验。