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

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

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


它 JIT 将 TypeScript 转换为 JavaScript,使您无需预编译即可直接在 Node.js 上执行 TypeScript。 这是通过挂钩 node 的模块加载 API 来实现的,使其能够与其他 Node.js 工具和库一起无缝使用。


注意,在 windows 操作系统里,直接运行 ts-node, 会报错:


‘ts-node’ is not recognized as an internal or external command,

operable program or batch file.


image.png


很多人建议采取全局安装 ts-node 的方法来解决这个问题,但全局安装并不是一个好的解决方案。


参考这个 StackOverflow 讨论.


我不建议在您自己的模块中依赖全局安装的 ts-node,因为如果你这样做,那么安装你的模块的任何人都需要全局安装 ts-node(仅仅一个普通的 npm install 是不够的)然后如果两个模块需要全局安装 ts-node 之类的东西,你可能就会遇到版本冲突的问题。


为避免这种情况,您的所有依赖项都应在 package.json 中定义,并在本地安装在 node_modules 中。


有一个鲜为人知的命令 npx 用于从本地安装在 node_modules 中的模块运行二进制文件。


在 SAP Spartacus 里,ts-node 被用来直接执行项目内的 .ts 文件。一个例子如下:


image.png

loadtest:ssr,定义在如下文件里:


image.png

我即使在根目录下执行 yarn loadtest:ssr, 也能直接启动嵌套的 core-libs 目录下的 package.json 里定义的 script.


image.png

原来在根目录的 package.json 下也添加了一条同名 script:

image.png

相关文章
|
2月前
|
Java Linux Windows
windows实现自动部署jar包运行程序
windows实现自动部署jar包运行程序
40 0
|
22天前
|
人工智能 机器人 编译器
【C++】Windows端VS code中运行CMake工程(手把手教学)
【C++】Windows端VS code中运行CMake工程(手把手教学)
|
2月前
|
消息中间件 Web App开发 JavaScript
Node.js【简介、安装、运行 Node.js 脚本、事件循环、ES6 作业队列、Buffer(缓冲区)、Stream(流)】(一)-全面详解(学习总结---从入门到深化)
Node.js【简介、安装、运行 Node.js 脚本、事件循环、ES6 作业队列、Buffer(缓冲区)、Stream(流)】(一)-全面详解(学习总结---从入门到深化)
76 0
|
1月前
|
JavaScript 前端开发 Serverless
函数计算新功能— 支持 Node.js 18 、Node.js 20 运行时
从2024年2月起,函数计算正式发布 Node.js 18 运行时和 Nodejs.20 运行时,函数计算2.0和函数计算3.0都支持新的运行时,目前新运行时处在公测状态,欢迎大家来体验。
460 0
|
1月前
|
Java 关系型数据库 数据库
在Windows上运行Flink
【2月更文挑战第16天】在Windows上运行Flink
62 2
|
1月前
|
JavaScript 前端开发 Java
如何使用内网穿透实现远程公网访问windows node.js的服务端
如何使用内网穿透实现远程公网访问windows node.js的服务端
|
1月前
|
Web App开发 JavaScript 前端开发
Windows 10上安装Node.js的初学者指南
Node.js是是一个强大的JavaScript运行时环境,建立在Chrome的V8 JavaScript引擎上,让你能够在服务器端运行JavaScript。 通过本教程,你将学会如何设置Node.js和npm(节点包管理器等现代Web开发的必备工具。无论你是希望构建Web应用程序、创建服务器端脚本,还是涉足全栈开发,安装Node.js都是你的第一步。那么,让我们开始吧!
|
2月前
|
JavaScript 前端开发 算法
【Node.js 版本过高】运行前端时,遇到错误 `Error: error:0308010C:digital envelope routines::unsupported`
【Node.js 版本过高】运行前端时,遇到错误 `Error: error:0308010C:digital envelope routines::unsupported`
66 0
|
2月前
|
网络协议 Shell vr&ar
某教程学习笔记(一):1、windows基础
某教程学习笔记(一):1、windows基础
19 0