我遇到了为共享模块运行mocha测试的问题。问题是它位于一个文件夹中,其层次结构中没有node_modules
,因此节点无法解析模块的依赖关系。这是结构:
repo
└ project_1
└ node_modules
└ project_2
└ node_modules
└ shared
└ my_module.js
这样两个项目都可以使用共享模块。在运行/构建项目时,共享模块将复制到项目下,因此他们可以在项目的node_modules文件夹中找到它们的依赖项。
但是,在运行mocha时,不会复制这些文件,因此模块解析无法找到依赖项。 我可以为所有项目设置一个顶级node_modules
文件夹,但是当每个项目都有自己的package.json时可以使用吗?
或者,您可以给node / mocha一个指向node_modules的路径以查找路径解析吗?那里是$ NODE_PATH env变量,但是因为我必须用项目I测试来改变它,所以感觉不切实际。
这些事情是否有一些最佳做法?