我正在为基于cli的工具编写一个NPM模块。有人安装软件包后,我需要阅读他们的package.json
文件。我知道如何在语法中读取文件。我的问题是,我如何一致地检索package.json
文件,并且应该使用相对路径还是绝对路径。NPM模块 - 如何利用package.json文件?
因此,在安装后,我的代码将某处驻留在node_modules
文件夹中:
package.json // I need to require this file
node_modules/
↳ my-package/
↳ dist/
↳ my-package.js // the actual file running the code
任何建议/最佳做法?或者它只是使用正确的文件路径的问题?
一般来说,我已经看到了它做的方式是在当前的工作目录看(即其中CLI命令正在运行) - 你可以使用['process.cwd()'](https://nodejs.org/api/process.html#process_process_cwd) t目录的路径。如果在CWD中没有package.json,我还看到不少工具会继续搜索文件夹结构,因为这意味着您可以从项目的子文件夹运行该命令,它仍然可以工作。 –
太棒了!感谢您的反馈!下面的答案更具信息性,但了解您的解决方案很有用 – Nicky