TS踩坑日记 - error TS2584: Cannot find name ‘console‘. Do you need to change your ……

  • 在使用 ts-node 运行 ts 文件时出现问题

  • test.ts文件:

    ts 复制代码
    const arr: Object[] = [{}, 1];
    const arr1: Array<Object> = [{}, 1, 2];
    console.log(arr, arr1);
  • 执行

    • ts-node ./test.ts
  • 报错

    php 复制代码
    error TS2584: Cannot find name 'console'. Do you need to change your target library? Try changing the 'lib' compiler option to include 'dom'.
    
    2   console.log(arr, arr1);
        ~~~~~~~
    
        at createTSError (C:\Users\ASUS\Desktop\crm\ydemo\node_modules\ts-node\src\index.ts:820:12)
        at reportTSError (C:\Users\ASUS\Desktop\crm\ydemo\node_modules\ts-node\src\index.ts:824:19)
        at getOutput (C:\Users\ASUS\Desktop\crm\ydemo\node_modules\ts-node\src\index.ts:1014:36)
        at Object.compile (C:\Users\ASUS\Desktop\crm\ydemo\node_modules\ts-node\src\index.ts:1322:43)       
        at Module.m._compile (C:\Users\ASUS\Desktop\crm\ydemo\node_modules\ts-node\src\index.ts:1454:30)    
        at Module._extensions..js (internal/modules/cjs/loader.js:1157:10)
        at Object.require.extensions.<computed> [as .ts] (C:\Users\ASUS\Desktop\crm\ydemo\node_modules\ts-node\src\index.ts:1458:12)
  • 原因console不属于 ECMAScript 标准。DOM里面的 console 是浏览器环境下的(是 window 对象里面的),属于浏览器 BOM APINode 里面的 consoleNodeJS 里面的,由 NodeJS 自己定义的API,两者虽然由同样的功能,但是并不是同一个东西;

  • 解决

    • 安装插件:
      • npm i -D tslib @types/node
    • 该命令是安装 TypScript 助手的运行时库,包含所有 TypeScript 辅助函数;
相关推荐
知识分享小能手8 分钟前
uni-app 入门学习教程,从入门到精通,uni-app 基础知识详解 (2)
前端·javascript·windows·学习·微信小程序·小程序·uni-app
文心快码BaiduComate17 分钟前
限时集福!Comate挂件/皮肤上线,符(福)气掉落中~
前端·后端·程序员
勇敢di牛牛17 分钟前
vue3 + mars3D 三分钟画一个地球
前端·vue.js
IT_陈寒1 小时前
Python+AI实战:用LangChain构建智能问答系统的5个核心技巧
前端·人工智能·后端
袁煦丞2 小时前
MoneyPrinterTurbo一键生成短视频:cpolar内网穿透实验室第644个成功挑战
前端·程序员·远程工作
代码小学僧2 小时前
让 AI 真正帮你开发:前端 MCP 实用技巧分享
前端
晴殇i2 小时前
前端鉴权新时代:告别 localStorage,拥抱更安全的 JWT 存储方案
前端·javascript·面试
Json____2 小时前
使用node Express 框架框架开发一个前后端分离的二手交易平台项目。
java·前端·express
since �2 小时前
前端转Java,从0到1学习教程
java·前端·学习
小奋斗2 小时前
面试官:[1] == '1'和[1] == 1结果是什么?
前端·面试