Visual Studio 代码、NodeJS 和要求

Posted

技术标签:

【中文标题】Visual Studio 代码、NodeJS 和要求【英文标题】:Visual Studio Code, NodeJS and require 【发布时间】:2021-12-26 12:39:07 【问题描述】:

我安装了 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/nodenpm install -g typescriptnpm 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); 修复了问题。但是 require('crypto') 抛出:lib.dom.d.ts(18699, 13): 'crypto' was also declared here.

【问题讨论】:

查看this答案 我已经试过了,帖子里提到过。它不能解决任何问题。 你试过在你的ts源码中使用import关键字吗? @DadiBit const crypto = import('crypto')import crypto from "crypto" 都抛出 Cannot find module 'crypto' or its corresponding type declarations.ts(2307) 尽管 npm install -g crypto 和重新启动。 将变量 crypto 重命名为 xcrypto 会消除该消息,但 Visual Code 找不到 createHash 的定义(实际上就像没有理解代码的常规 JavaScript 一样)。跨度> 【参考方案1】:

老实说,我不知道究竟是什么导致了这个问题,但我猜有些配置被破坏了。

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

如果可行,您应该继续在“新项目”上进行开发。有时这不是一种选择,但它可能是解决这类问题的最简单方法。

如果它不起作用,或者无法启动新项目,您可以尝试在线查找并最终在 Stack Overflow 上发布答案,如果结果不满意,但您也可以尝试启动通过重新安装 node/typescipt & Co.“更加新鲜”。

【讨论】:

以上是关于Visual Studio 代码、NodeJS 和要求的主要内容,如果未能解决你的问题,请参考以下文章

Nodejs in Visual Studio Code 01.简单介绍Nodejs

visual studio开发nodejs教程1搭建环境

Visual Studio 2019 进程未关闭,NodeJS 问题

Nodejs in Visual Studio Code 04.Swig模版

visual studio code + Nodejs + Typescritpt + angularjs2 + bootstrap 环境搭建/Elementary os

Nodejs in Visual Studio Code 03.学习Express