非常规包包含二进制模块和嵌套模块,但没有入口点(没有索引脚本和main
),react-scripts
就是一个例子。
require.resolve('react-scripts/bin/react-scripts')
可以工作,因为bin/react-scripts.js
模块存在,但require.resolve('react-scripts')
会导致错误,因为包没有入口点。
最好避免依赖于预期的位置,如./node_modules/react-scripts
,因为它依赖于项目结构。
获取react-scripts
模块文件夹的完整路径的好方法是什么?
可以从最近的预期存在的文件(package.json
)中提取包路径:
path.dirname(require.resolve('react-scripts/package.json'))
仍将赞赏解决一揽子方案路径的替代办法。