如何从节点项目中的
console.log()
中获得 node_modules
的依赖关系?我正在使用默认的 create-react-app
设置。
当我在应用程序代码中包含
console.log()
时,日志记录工作正常。但是,当我尝试将 console.log()
包含在 node_modules
中项目依赖项之一的代码中时,这些不会出现在我的控制台中。
我可以通过什么方式获取这些日志?
如果您使用 console.log() 猴子修补 npm 模块来调试问题,它应该像任何其他控制台语句一样显示。您的根本原因可能是您的构建。我假设您正在使用 babel 和 Webpack 等打包工具。
BABEL_DISABLE_CACHE=1 webpack
或者,我个人建议您重新考虑您的方法。虽然我实际上已经这样做过几次了;如果您将这样的“调试”添加到较低级别的模块中,您可能会在错误的位置查找问题,除非库中存在合法的错误...
删除node_modules内的.cache对我有用
如果您想调试依赖项,您应该将依赖项从node_modules复制到您的项目中,并从您的项目路径调用
1.) 将日志添加到node_modules 内的依赖项。
2.)
yarn cache clean
.
3.) 构建项目和日志应该出现。
我遇到了同样的问题,我通过使用
package.json
中的链接解决了它。
在我的依赖项中,我使用本地 node_modules 库文件夹的链接路径修改库版本:
// before
"random-library-name": "^0.0.1",
// after
"random-library-name": "link:./node_modules/random-library-name",
同时我清理了
npm
的缓存:
npm cache clean
另外,我重建库只是为了确保构建了正确的版本。
作为最后的手段,您还可以在向依赖项添加日志记录语句后尝试手动重建依赖项。例如,如果您的 dep 的 package.json 有一个像
build
这样的 build: gulp build
命令,您可以通过 cli 导航到该包并手动运行该命令。
尝试了上述所有解决方案后,我尝试使用另一个网络浏览器,它成功了
当我尝试添加一个插件时,我可以在终端内看到来自节点模块的控制台日志
sudo ionic cordova 插件添加 cordova-plugin-app-version
输出
✔ 为您创建 ./www 目录 - 完成! cordova 插件添加 cordova-plugin-app-version 发布%%######### 22.1.0 22 插件“cordova-plugin-app-version”已安装在 ios 上。 将 cordova-plugin-app-version 添加到 package.json