我通常在Docker容器中开发Node应用程序并将我的源绑定到容器中,例如,在 /usr/src/app
. 如果代码抛出堆栈跟踪,我得到类似的东西:
TypeError: Cannot read property 'createElement' of undefined
at parseUrl (/usr/src/app/node_modules/auth0-lock/lib/utils/url_utils.js:6:31)
at extractClientBaseUrlOption (/usr/src/app/node_modules/auth0-lock/lib/core/index.js:425:42)
at Object.setup (/usr/src/app/node_modules/auth0-lock/lib/core/index.js:110:20)
at setupLock (/usr/src/app/node_modules/auth0-lock/lib/core/actions.js:47:13)
at Auth0Lock.Base (/usr/src/app/node_modules/auth0-lock/lib/core.js:77:36)
这都是冷却,这是有道理的,因为就Node而言,它正在/ usr / src / app中运行 . 这毕竟是我们想要的 - 我们的应用程序对主机一无所知 .
但是,VS Code有一个非常方便的功能,它可以解析集成终端中的路径,并允许您单击它们以打开源 . 这没有_t92907_重写'它(使用术语丢失)像 /Users/shankie/project/node_modules/auth0-lock/lib/utils/url_utils.js
做任何相似的事都有运气吗?我可以在VS Code和Node中设想可能的解决方案......
1 回答
这不是内置的东西,但你可以通过更改
Error
原型获得一些运气:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error/prototype
请记住,某些方法和属性不是标准的 - 请参阅:
或者,您可以在Docker中创建一个符号链接,以便它在您的计算机上运行在同一目录中 - 这也是一些选项,并且不需要对代码进行任何更改 .