如何默认隐藏 Node.js 中的内部堆栈跟踪错误?
How to Hide Internal Stack Trace Error in Node.js By Default?
我只想显示下面的 TypeError 行,但隐藏所有内部细节(以下 7 行都以 at 开头)。
~/Desktop/Practice> node "c:\Users\User\Practice\PracJS.js"
c:\Users\User\Practice\PracJS.js:6
let b = duck.prototype.isPrototypeOf(Bird)
^
TypeError: Cannot read property 'isPrototypeOf' of undefined
at Object.<anonymous> (c:\Users\User\Practice\PracJS.js:6:24)
at Module._compile (internal/modules/cjs/loader.js:955:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:991:10)
at Module.load (internal/modules/cjs/loader.js:811:32)
at Function.Module._load (internal/modules/cjs/loader.js:723:14)
at Function.Module.runMain (internal/modules/cjs/loader.js:1043:10)
at internal/main/run_main_module.js:17:11
我知道我可以通过将 Error.stackTraceLimit = 0
包含在文件中来做到这一点。但我想默认这样做。
有什么方法可以让 Node 指向一个配置文件(设置 Error.stackTraceLimit = 0
里面),这样每当我 运行 node PracJS.js
(在 VSCode 里面),它就会自动适用 Error.stackTraceLimit = 0
?
感谢任何帮助!谢谢!
您可以使用 --stack-trace-limit
标志,而 运行 javascript 文件。所以在你的情况下
node --stack-trace-limit=0 "c:\Users\User\Practice\PracJS.js"
或
export NODE_OPTIONS='--stack-trace-limit=0'
在这种情况下使用 NODE_ENV
也值得一提。一些好的包(Express 等)使用这个变量来控制这些东西。所以基本上设置 NODE_ENV=production
并且您还可以使用它来控制代码中的堆栈跟踪。
我只想显示下面的 TypeError 行,但隐藏所有内部细节(以下 7 行都以 at 开头)。
~/Desktop/Practice> node "c:\Users\User\Practice\PracJS.js"
c:\Users\User\Practice\PracJS.js:6
let b = duck.prototype.isPrototypeOf(Bird)
^
TypeError: Cannot read property 'isPrototypeOf' of undefined
at Object.<anonymous> (c:\Users\User\Practice\PracJS.js:6:24)
at Module._compile (internal/modules/cjs/loader.js:955:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:991:10)
at Module.load (internal/modules/cjs/loader.js:811:32)
at Function.Module._load (internal/modules/cjs/loader.js:723:14)
at Function.Module.runMain (internal/modules/cjs/loader.js:1043:10)
at internal/main/run_main_module.js:17:11
我知道我可以通过将 Error.stackTraceLimit = 0
包含在文件中来做到这一点。但我想默认这样做。
有什么方法可以让 Node 指向一个配置文件(设置 Error.stackTraceLimit = 0
里面),这样每当我 运行 node PracJS.js
(在 VSCode 里面),它就会自动适用 Error.stackTraceLimit = 0
?
感谢任何帮助!谢谢!
您可以使用 --stack-trace-limit
标志,而 运行 javascript 文件。所以在你的情况下
node --stack-trace-limit=0 "c:\Users\User\Practice\PracJS.js"
或
export NODE_OPTIONS='--stack-trace-limit=0'
在这种情况下使用 NODE_ENV
也值得一提。一些好的包(Express 等)使用这个变量来控制这些东西。所以基本上设置 NODE_ENV=production
并且您还可以使用它来控制代码中的堆栈跟踪。