ts-node应该检查baseUrl tsconfig.json属性吗?

Ole*_*Ole 5 javascript typescript ts-node

我正在使用ts-node而且tsconfig.json我已经使用过了"baseUrl": "./src".这样我可以在src不使用的情况下导入兄弟./.但是ts-node似乎没有使用该baseUrl属性来解析兄弟导入,所以我得到这样的错误:

    > tsmochanyc@1.0.0 test /home/ole/Junk/tsmochanyc
    > mocha -r ts-node/register src/**/*.spec.ts

    Error: Cannot find module 'hello'
        at Function.Module._resolveFilename (internal/modules/cjs/loader.js:548:15)
Run Code Online (Sandbox Code Playgroud)

好奇这是否是一个ts节点错误或我是否应该做一些不同的事情?

Ole*_*Ole 7

正如发布到 ts-node 的问题中所示,tsconfig-paths可用于此目的。我在这里有一个完整(但最少)的工作示例。如果您想尝试一下,请执行以下操作:

git clone https://github.com/oleersoy/tsmochanyc
cd tsmochanyc
npm i
npm test
Run Code Online (Sandbox Code Playgroud)

查看baseUrlpaths属性tsconfig.json以了解分辨率如何工作。在这种情况下,它们已被设置,以便tsmochanyc代理以src/这种方式反映与开发人员如果tsmochanyc是外部依赖项将使用的相同路径。