提问者:小点点

获取没有入口点的NPM包的路径


非常规包包含二进制模块和嵌套模块,但没有入口点(没有索引脚本和main),react-scripts就是一个例子。

require.resolve('react-scripts/bin/react-scripts')可以工作,因为bin/react-scripts.js模块存在,但require.resolve('react-scripts')会导致错误,因为包没有入口点。

最好避免依赖于预期的位置,如./node_modules/react-scripts,因为它依赖于项目结构。

获取react-scripts模块文件夹的完整路径的好方法是什么?


共1个答案

匿名用户

可以从最近的预期存在的文件(package.json)中提取包路径:

path.dirname(require.resolve('react-scripts/package.json'))

仍将赞赏解决一揽子方案路径的替代办法。