专栏首页M不作声使用ts-node直接运行ts脚本

使用ts-node直接运行ts脚本

应用场景

在代码日常中,经常会需要写各种脚本,今天使用ts写了个脚本,运行的时候各种报错,还是决定写下来。

运行ts脚本需要一个库ts-node,这个库不能全局安装,否则会报错。

yarn add -D ts-node
# 或者
npm i ts-node -D

使用

安装好后开始添加配置项:

  • ts.config.json中添加配置"mudoule": esnextes2005
  • package.json中添加配置"type":"modules"
  • 在文件中的import语句中「包含文件扩展名」,如import data from './data'改为import data from './data.js',另外.ts后缀也要改为.js

然后就可以使用命令行命令运行ts脚本。

node --loader ts-node/esm ./my-script.ts

报错

在这个过程中报错不少,在网上各种论坛跑来跑去,终于解决了问题。

SyntaxError: Cannot use import statement outside a module

无法在模块外使用import,解决这个问题需要在package.json文件中添加"type":"modules"

Error [ERR_MODULE_NOT_FOUND]: Cannot find module 'C:\Users\1\Desktop\my-project\data' imported from 'C:\Users\1\Desktop\get-data.ts' ❞

找不到导入的模块,是因为没有在导入的文件中添加后缀名。

TypeError [ERR_UNKNOWN_FILE_EXTENSION]: Unknown file extension ".ts"

我收到这条报错的时候,命令行命令使用的是ts-node ./myscripts.ts,改用以下命令时,问题解决。

node --loader ts-node/esm ./my-script.ts

ReferenceError: fetch is not defined

获取数据使用了fetch库,不是标准的Nodejs方法,需要下载node-fetch

yarn add node-fetch

写在最后

虽然程序员有很多交流问题的社区论坛,但跑了一圈后发现还是在githubIssues搜索问题更高速有效,其他地方很多无效甚至答非所问的回答。

文章分享自微信公众号:
大前端合集

本文参与 腾讯云自媒体分享计划 ,欢迎热爱写作的你一起参与!

如有侵权,请联系 yunjia_community@tencent.com 删除。
登录 后参与评论
0 条评论

相关文章

  • ts-node 学习笔记 - 如何解决在 Windows10 下不能直接运行 ts-node 的问题

    ts-node 是 Node.js 的 TypeScript 执行引擎和 REPL。

    Jerry Wang
  • VSCode使用ts-node 调试TypeScript代码

    可以看出这些不足都来自于一个根本原因,运行之前需要编译。后来我就发现了一个很强大的工具ts-node,来看下ts-node的简介:

    javascript.shop
  • 搭建一套支持TS的Node运行环境

    前几天遇到一个批量处理文件的需求,需要用node来实现,由于第一次接触它,没啥经验,又想写TS,于是就搭建了这么一套环境,期间也踩了挺多坑。

    神奇的程序员
  • deno 初体验,实战记录一个node项目迁移到deno需要做什么

    文档中有很多方式,我们按需选择即可。这里我直接选择mac的脚本安装形式。执行一个脚本然后按照提示设置环境变量即可

    flytam
  • 详解配置Visual Studio/Webstorm来调试JavaScript

    译者按: 本文介绍了使用 Node Inspector 来调试 JavaScript 和 TypeScript 应用。

    Fundebug
  • 使用 TypeScript 改造构建工具及测试用例

    最近的一段时间一直在搞TypeScript,一个巨硬出品、赋予JavaScript语言静态类型和编译的语言。 第一个完全使用TypeScript重构的纯Node...

    贾顺名
  • 1、TypeScript初识及环境搭建

    TypeScript最近很火,有很多开源的项目也是由其开发的,如果你是一名前端开发工程师或准备要成为一名前端开发工程师的话,现在如果再不学习TypeScript...

    用户1272076
  • webpack打包typescript

    相信很多前端的朋友都知道webpack是什么,webpack 是一个模块打包器。它的主要目标是将 JavaScript 文件打包在一起,打包后的文件用于在浏览器...

    玖柒的小窝
  • 使用 Typescript 开发 Nodejs 命令行工具

    来源 | https://zhuqingguang.github.io/2020/11/07/nodejs-cli-with-typescript/

    winty
  • 使用 Typescript 开发 Nodejs 命令行工具

    本文记录了搭建基于 TypeScript 的 Nodejs 命令行开发环境的全过程。

    王小婷
  • 实战篇:当Typescript遇上Koa的时候

    最近在做运营侧中台项目的重构,目前的选型是 koa2+typescript。在实际生产中,切实体会到了 typescript 类型带来的好处。

    心谭博客
  • 前端工具类项目规范化-使用TS

    TypeScript 是微软开发一款开源的编程语言,本质上是向 JavaScript 增加静态类型系统。它是 JavaScript 的超集,所有现有的 Java...

    腾讯IVWEB团队
  • VsCode 各场景高级调试技巧,有用!

    VsCode自从诞生以来,以其各自优异的特性迅速走红。尤其是对于前端开发小伙伴来说,几乎成为必不可少的开发工具。所以,熟练掌握VsCode的各自使用技巧与调试技...

    @超人
  • 分享 10 多条超有用的 VsCode 各场景高级调试技巧

    VsCode自从诞生以来,以其各自优异的特性迅速走红。尤其是对于前端开发小伙伴来说,几乎成为必不可少的开发工具。所以,熟练掌握VsCode的各自使用技巧与调试技...

    前端达人
  • 手摸手教你用webpack搭建TS开发环境

    最近在学习typescript,也就是我们常说的TS,它是JS的超集。具体介绍就不多说了,今天主要是带大家用webpack从零搭建一个TS开发环境。直接用传统的...

    玖柒的小窝
  • 你可能已经忽略的git commit规范

    在日常的开发工作中,我们通常使用 git 来管理代码,当我们对代码进行某项改动后,都可以通过 git commit 来对代码进行提交。

    前端森林
  • Node.js项目TypeScript改造指南

    如果你有一个 Node.js 项目,并想使用 TypeScript 进行改造,那本文对你或许会有帮助。

    WecTeam

扫码关注云+社区

领取腾讯云代金券