ts 运行时和打包问题
esm问题
两个关于模块配置项
compilerOptions.module 决定tsc打包模块后的输出,如esm或cjs
compilerOptions.moduleResolution 影响的是在执行node xxx.ts时候 模块解析过程,用在运行时
import cjs包冲突怎么办
当通过 esm 使用到node 内置模块的时候,import path from "node:path"; 可能会报错类似于 :
模块 ""node:path"" 只能在使用 "esModuleInterop" 标志时进行默认导入ts(1259)
path.d.ts(191, 5): 此模块是使用 “export =” 声明的,只能在使用“esModuleInterop”标志时用于默认导入
只需要打开此项即可 compilerOptions.esModuleInterop,作用就是处理cjs于esm冲突
esm和tsc要求冲突
esm要求导入文件必学携带后缀,但是 tsc 要求你在 ts 文件中不能携带后缀。
临时的解决方案是 “源码虽然是 esm+ts,但是导入的时候不写后缀,并将打包后的输出 compilerOptions.module 配置为 cjs (既默认值)”
或者你使用 webpack 或者 vite 或者 esbuild 更完整的搭建工具链,从而生成你需要的构建结果
直接运行ts
在node v23的时候已经直接支持直接运行ts文件 node test.ts,但是再此版本之前:
- 你需要借助tsc
- 如果你不想显式编译,而是直接运行 可以借助于 ts-node、tsx,
- 如果你还需要热更新 可以考虑 ts-node-dev 或者 nodemon+tsx等方案
推荐 tsx,因为现阶段 ts-node已经摆烂了
短路径(别名)
推荐此包 tsc-alias
ts 运行时和打包问题的更多相关文章
- 优化单页面开发环境:webpack与react的运行时打包与热更新
前面两篇文章介绍初步搭建单页面应用的开发环境: 第一篇:使用webpack.babel.react.antdesign配置单页面应用开发环境 第二篇:使用react-router实现单页面应用路由 这 ...
- 【python】python打包生成的exe文件运行时提示缺少模块
事情是这样的我用打包命令:pyinstaller -F E:\python\clpicdownload\mypython.py打包了一个exe程序,但是运行时提示我缺 少bs4模块然后我就去查pyin ...
- sbt打包Scala写的Spark程序,打包正常,提交运行时提示找不到对应的类
sbt打包Scala写的Spark程序,打包正常,提交运行时提示找不到对应的类 详述 使用sbt对写的Spark程序打包,过程中没有问题 spark-submit提交jar包运行提示找不到对应的类 解 ...
- Hadoop打包成jar包在集群上运行时出现的各种问题以及解决方案
之前将eclipse下编好的mapreduce代码放到集群上面跑,发现速度很慢,namenode节点的cpu和内存使用率很低,datanode节点基本上处于没有运行的状态,然后通过查看hadoop-e ...
- qiankun 2.x 运行时沙箱 源码分析
简介 从源码层面详细讲解了 qiankun 框架中的 JS 沙箱 和 样式沙箱的实现原理. 序言 沙箱 这个词想必大家应该不陌生,即使陌生,读完这篇文章也就不那么陌生了 沙箱 (Sandboxie) ...
- Unity运行时检测Altas使用情况
UI贴图在游戏中内存大小中占的分量非常非常大,尤其对于前期对UI没有规划的项目,无论是包量还是内存大小都是需要花费很多时间去优化.如果涉及到战斗场景和逻辑场景的情况下,常用的做法就是把两个场景使用的a ...
- java虚拟机运行时乱码问题
问题: Android端通过socket发送文本到windows,windows调用系统剪切板进行粘贴的操作,java服务端在eclipse下直接运行粘贴的文本无乱码,打包jar后粘贴的文本乱码. 解 ...
- iOS运行时 -- Runtime(摘抄自网络)
运行时(iOS) 一.什么是运行时(Runtime)? 运行时是苹果提供的纯C语言的开发库(运行时是一种非常牛逼.开发中经常用到的底层技术) 二.运行时的作用? 能获得某个类的所有成员变量 能获得某个 ...
- iOS开发——底层OC篇&运行时常用
运行时常用 什么是Runtime(前面的文章已经说的很清楚了,这里就简单的介绍一下) 我们写的代码在程序运行过程中都会被转化成runtime的C代码执行,例如[target doSomething]; ...
- .NET中 类型,对象,线程栈,托管堆在运行时的关系
.NET中 类型,对象,线程栈,托管堆在运行时的关系 The Relationship at Run Time between Types,Objects,A Thread's Stack,and T ...
随机推荐
- 在 Idea 中使用 Git
以 git-2.21.0 为例说明安装步骤: 双击 Git-2.21.0-64-bit.exe 点击 Next 设置安装路径 点击 Next 点击 Next 点击 Next,选择默认的编辑器 点击 N ...
- jmeter性能测试案例:电商系统并发订单测试
场景描述:本案例主要实现多用户同时提交订单,以检测系统对瞬时压力的响应情况.具体流程包括用户登录-添加商品-提交订单.涉及多个接口联动和参数处理,步骤如下: 第一步,登录用户 1.新建"下订 ...
- Sentinel源码—4.FlowSlot实现流控的原理
大纲 1.FlowSlot根据流控规则对请求进行限流 2.FlowSlot实现流控规则的快速失败效果的原理 3.FlowSlot实现流控规则中排队等待效果的原理 4.FlowSlot实现流控规则中Wa ...
- 什么是 Java 中的常量池?
Java 中的常量池 Java 中的常量池(Constant Pool)是用于存放程序中常量(如字符串.数字.类.方法等)的内存区域.常量池的主要作用是提高内存的使用效率和性能,避免重复创建相同的常量 ...
- Intellij, target JRE vesion doesn't match project jdk version
gradle 项目修改这里的gradle jvm
- Windows上,10分钟构建一个本地知识库
这篇文章是我约新书<RAG应用实战>的一个样章,基于阿里云代码构建的一个本地RAG服务. 本地模型看代码注释,需要替换几行代码. 阅读本章时,已默认安装你的个人电脑上安装了Python 3 ...
- [护网必备]2018年-2024年HVV 6000+个漏洞 POC 合集分享
此份poc 集成了Zabbix.用友.通达.Wordpress.Thinkcmf.Weblogic.Tomcat等 下载链接: 链接: 6000+Poc下载
- ceph存储介绍
一.ceph简介 ceph是一个开源的.统一的分布式存储系统,设计初衷是提供较好的性能.可靠性和可扩展性.其中"统一"是说ceph可以一套存储系统同时提供块存储设备.文件系统存储和 ...
- Django踩坑之在Django中创建项目时ImportError: No module named django.core
不使用django-admin.py,而是使用django-admin.exe 具体操作如下 django-admin.exe startproject learning_log . ok,没有提示错 ...
- RabbitMQ学习笔记【长更】
文章发表在了我的博客上:https://blog.ysboke.cn/archives/64.html 一.MQ作用 就仨:异步.削峰.解耦 1.任务异步处理 将不需要同步处理的并且耗时长的操作由消息 ...