[英]How to create function (inside module) that consume relative path of file in NodeJs
[英]How to load resource from a relative path in a nodejs module?
在我的一个NodeJS模块中,我需要访问一个文件,该文件是该模块的一部分,位于自己的文件夹中(用于单元测试)。 它在调用文件中尝试了__dirname
,并带有指向该资源文件的相对路径。 从vscode内部运行时,此方法有效,但在终端中执行npm test
时不起作用。 在这种情况下,构建的路径是一个水平。 怎么可能?
我必须补充一点,我使用打字稿进行编码,使用Mocha进行单元测试。
简单地登录__filename
可以在这里__filename
帮助。 它显示在vscode下,执行文件是已编译的JS文件,而在Mocha下,它是打字稿源文件。 我跑:
mocha --compilers ts:ts-node/register,tsx:ts-node/register
为我的测试。 有什么想法如何克服这个问题并确保使用正确的路径(除了测试__filename
是否以.ts
结尾)?
好的,事实很简单。 不要使用ts代码运行mocha,而应使用已编译的代码。 仅在测试之前需要进行转译:
"scripts": {
"prepublish": "tsc",
"install": "tsc",
"test": "tsc && mocha out/test"
},
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.