如何从节点项目console.log()
中的依赖项中node_modules
?我正在使用默认的create-react-app
设置。
当我在应用程序代码中包含console.log()
时,日志记录可以正常工作。但是,当我尝试在console.log()
中项目的一个依赖项的代码中包含node_modules
时,这些将不会出现在控制台中。
有什么办法可以获取这些日志?
答案 0 :(得分:2)
如果要调试依赖项,应将依赖项从node_modules复制到项目中,然后从项目路径中调用
答案 1 :(得分:0)
如果您要用console.log()修补npm模块来调试问题,它应该会像其他任何控制台语句一样显示。您的根本原因很可能是您的构建。我假设您正在使用babel和捆绑工具,例如Webpack。
BABEL_DISABLE_CACHE=1 webpack
或者,我个人建议您重新考虑您的方法。实际上,我已经做过几次了;如果要将这样的“调试”添加到较低级别的模块,则除非库中存在合法的错误,否则您可能会在错误的位置查找问题。
答案 2 :(得分:0)
1.) 将日志添加到 node_modules 中的依赖项。
2.) yarn cache clean
.
3.) 应显示构建项目和日志。
答案 3 :(得分:0)
作为最后的手段,您还可以尝试在向其添加日志语句后手动重建依赖项。例如,如果您的 dep 的 package.json 有一个 build
命令,例如 build: gulp build
,您可以通过 cli 导航到该包并手动运行该命令。
答案 4 :(得分:0)
我遇到了同样的问题,我通过使用 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
另外,我重建库只是为了确保我构建了正确的版本。