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 辅助函数;
相关推荐
源心锁26 分钟前
丧心病狂!在浏览器全天候记录用户行为排障
前端·架构
GIS之路27 分钟前
GDAL 实现投影转换
前端
烛阴1 小时前
从“无”到“有”:手动实现一个 3D 渲染循环全过程
前端·webgl·three.js
BD_Marathon1 小时前
SpringBoot——辅助功能之切换web服务器
服务器·前端·spring boot
Kagol1 小时前
JavaScript 中的 sort 排序问题
前端·javascript
eason_fan1 小时前
Service Worker 缓存请求:前端性能优化的进阶利器
前端·性能优化
光影少年2 小时前
rn如何和原生进行通信,是单线程还是多线程,通信方式都有哪些
前端·react native·react.js·taro
好大哥呀2 小时前
Java Web的学习路径
java·前端·学习
计算机毕设VX:Fegn08952 小时前
计算机毕业设计|基于springboot + vue动物园管理系统(源码+数据库+文档)
数据库·vue.js·spring boot·后端·课程设计
HashTang2 小时前
【AI 编程实战】第 7 篇:登录流程设计 - 多场景、多步骤的优雅实现
前端·uni-app·ai编程