Visual Studio Code, NodeJS and require



我安装了Visual Studio Code,并希望使用TypeScript对NodeJS进行编码。所以我创建了一个非常基本的应用程序,我得到了一个错误,上面写着:

Cannot find name 'require'. Do you need to install type definitions for node? Try `npm i --save-dev @types/node`.ts(2580)

执行上述npm命令并不能解决问题。我已经失去了我关注、阅读的链接墙,要么不适用于我,要么没有解决问题,要么已经过时等等:

这个最接近:
https://www.section.io/engineering-education/how-to-use-typescript-with-nodejs/

我运行了以下命令:
npm i --save-dev @types/node
npm install -g typescript
npm install -D typescript

为了测试,我将配置文件tsconfig.json替换为:

{
"compilerOptions": {                        
"target": "es6",                               
"module": "commonjs",                           
"outDir": "./dist",                             
"rootDir": "./src",                             
"strict": true,
"moduleResolution": "node",
"esModuleInterop": true,                       
},
"exclude":[
"./node_modules"
]
}

我将我的.ts文件移动到项目根文件夹的src文件夹,并创建了dest文件夹。我重新启动了应用程序,什么都没有。我找了一些可能有帮助的扩展,但没有。

我明白我不能只是";要求";在TypeScript中,因为它想检查函数是否真的存在,而不是JavaScript。但是,我该如何将TypeScript代码编译为JavaScript,然后运行它呢?引起问题的行是文件主题处的三行。

const http = require('http');
const crypto = require('crypto');
const colors = require('colors');

编辑:
declare function require(name : string);修复了此问题。但需要('crypto'(抛出:
lib.dom.d.ts(18699, 13): 'crypto' was also declared here.

老实说,我不知道到底是什么原因导致了这个问题,但我猜有些配置已经损坏。

有时候,一个简单的方法就是重新开始:试着创建一个新项目,只导入你需要的东西。

  • 如果它有效,您应该继续在";新项目";。这有时不是一种选择,但这可能是解决这些类型问题的最简单方法。

  • 如果它不起作用,或者启动一个新项目不是一种选择,你可以尝试在线查找,如果结果不能让你满意,最终在Stack Overflow上发布答案,但你也可以尝试启动"甚至更新鲜";通过重新安装node/typescipt&Co.

最新更新