学习ts中使用ts-node进行ts的编译运行时遇到的错误
Cannot find name 'console'. Do you need to change your target library? Try changing the 'lib' compiler option to include
解决方式
npm install -g @types/node
安装这个库就可以正常进行编译运行了
以下是一个知乎大佬的讲解
console 不属于 EcmaScript 标准。DOM 里面的 console 是浏览器环境下的,属于浏览器BOM API,Node 里面的 console 是 Node.js 里面的,由nodejs自己定义的API,两者虽然有同样的功能,但是并不是同一个东西,例如你可以参考:如果从 Node.js 编译到浏览器环境, Webpack 本来是需要对 console 进行 polyfill 的,但是恰好有一样的功能,所以不需要。你可以把 console 想成 fs 就是一样的道理了,你不装 @types/node 根本无法使用 fs 的类型提示。 因此总结,主要原因 TypeScript 自带的类型只有 DOM 环境里面的那些类型(在 lib.dom.d.ts 里面),Node.js 的类型是不自带并且通过 @types/node 这个库来维护的。
作者:Yiming Li
链接:https://www.zhihu.com/question/470016632/answer/1978489216
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
知乎问题链接
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)