我正在尝试使用iron-node(v2.2.17)来调试我的摩卡单元测试。另外,单元测试运行正常,当我从我的package.json运行此命令:module.js在运行铁节点时找不到模块
"test": "cross-env NODE_ENV=test mocha test/.setup.js --reporter progress --compilers js:babel-core/register --require babel-polyfill --recursive \"./src/**/*.spec.js\" \"./src/**/*.integrationSpec.js\" \"./test/**/*.spec.js\"",
然而,当我运行此命令的测试失败:
"debug:test": "cross-env NODE_ENV=test iron-node node_modules\\mocha\\bin\\_mocha test/.setup.js --reporter progress --compilers js:babel-core/register --require babel-polyfill --recursive \"./src/**/*.spec.js\" \"./src/**/*.integrationSpec.js\" \"./test/**/*.spec.js\"",
在控制台中的错误是:
Error: Cannot find module 'src/framework/api/entityAddresses/entityAddressesAc tions'
- module.js:16 require
internal/module.js:16:19
- entityAddressesActions.spec.js:5 Object.<anonymous>
entityAddressesActions.spec.js:5:1
此模块位于C:\TFS\Dev-UI\WebApp\Src\Web\Web\src\framework\api\entityAddresses\entityAddressesActions.js
我的项目文件夹为C:\TFS\Dev-UI\WebApp\Src\Web\Web
和我的process.env.NODE_PATH
也是C:\TFS\Dev-UI\WebApp\Src\Web\Web
。 (它是未定义的,但我把它设置为process.cwd()
在我的.iron-node.js
- 见https://github.com/s-a/iron-node/issues/98#issuecomment-218658236)
我不明白为什么找不到模块。我是否缺少一些配置?
编辑
这SO答案提示设置process.env.NODE_PATH
一旦应用程序已经开始将不能工作,因为模块路径缓存:Determine project root from a running node.js application
我在一个头绪之前设置此铁节点启动时,它始终是不确定的