首页 > 其他分享 >__dirname is not defined in ES module scope

__dirname is not defined in ES module scope

时间:2024-05-29 14:35:51浏览次数:32  
标签:__ defined module 改为 import esm dirname

在package.json中的type = module的项目中,我创建了一个ts文件,类型是esm的类型。

这里的报错是因为我们错误的使用了module的语法到esm的文件中,要解决这个问题的方法有两种,第一种改为module,另一种是改为esm的写法。

首先是第一种改为module的写法,那就是把import改为require,然后由于我们这里是module的项目,所以需要修改一下ts文件的后缀ts改为cts。

一个供参考的例子:GitHub - shawnsparks/typescript-esm: Explore different usage patterns of ES modules with Typescript

然后是第二种,文件、路径相关的改为esm的写法。

import { fileURLToPath } from "url"
import path from "path"

// 获取当前模块的目录路径
const __filename = fileURLToPath(import.meta.url)
const __dirname = path.dirname(__filename)

标签:__,defined,module,改为,import,esm,dirname
From: https://www.cnblogs.com/KazooTTT/p/18220201

相关文章

  • 从 .NET 到 C++:集合处理的思考
    1.IEnumerable与List的比较在.NET中,IEnumerable和List是两种常用的集合类型,它们有各自的适用场景:IEnumerable<T>:优点:惰性求值,仅在迭代时计算,适用于大数据集或流式数据处理。缺点:不能进行索引访问,没有直接的添加或移除元素的方法。List<T>:优点:支持索引访问,具备......
  • stm8系列--可变频率PWM输出
     PA3STM8S003F3timer2_init();//初始化#definePUL_COUNT4000voidtimer2_init(void){TIM2_DeInit();TIM2_TimeBaseInit(TIM2_PRESCALER_8,PUL_COUNT-1);//62.5HZ2M/8/4000=62.5HZ1个数4usTIM2_OC3Init(TIM2_OCMODE_PWM1,TIM2_OUTPUTS......
  • ChatGPT随笔
    我通过询问周边数位每天使用大模型平均超过两个小时以上的学者,得到他们对于大模型的看法是:“ChatGPT确实很厉害,但是价格难以负担,且使用十分不便。国产的也有用,但是没大用,更多像个高级搜索引擎”。进一步问他们平时最多用大模型做什么,答案基本是:“进行文本翻译、润色文本、生成简单......
  • 天池O2O优惠券使用预测相关学习
    学习网址:https://blog.csdn.net/zimiao552147572/article/details/105940961等1、Data.rename(columns={'col1':'rename_col1'},inplace=True),可以看到col1被重命名为rename_col1,inplace=True表示在原数据进行修改。2、(date()-date()).days()可以是负值吗?应该是可以的3、t、......
  • Centos7 双网卡配置(Nat+hostonly)
    双网卡配置上网异常分析发现内网网段之间可以正常ping通,但却无法连接外网。经过一翻查看分析,是由于多网卡默认启用自动路由引起冲突问题发现背景虚拟机上网,固定静态IP(hostonly模式),在copy虚拟机时候不用管nat或者桥接IP,使用shell直接ssh静态IP访问一、网卡配置cat......
  • 如何批量新建文件夹并命名?3个实用文件重命名技巧请收藏
    如何批量新建文件夹并命名?很多从事文职类工作的小伙伴们应该都会在工作中会遇到关于文件夹批量新建的问题,面对需要新建几百个文件夹还在一个一个手动操作的话,这样的话太影响工作效率了,这里小编就来给大家分享几个批量新建文件夹并命名的方法,希望可以通过这篇文章帮助到你,以后再......
  • Newtonsoft.Json 序列化器的重写
    //TGD_AUDIT_STATUS、TGD_DEPT_ID都是Int32?的数据类型,如果他们的值包含小数点时直接反序列化会报错的,异常是:字符串的格式不正确,所以此时可以进行客户自定义反序列化的规则设定,这样就问题解决了。自定义实现类中,反序列化时调用ReadJson方法,序列化时调用WriteJson方法。stringj......
  • 批量重命名工具分享,附上详细文件批量改名教程(2024年全新版)
    怎么批量重命名文件?作为办公一族难免会遇到一些文件管理难题,面对大量的文件需要进行重命名操作,你还在一个一个地重复操作吗?这样不仅耗费时间还大大地影响工作效率,那有什么简单快速的方法可以批量文件改名吗?答案是当然是有的!今天小编就给大家分享几个亲测好用的批量重命名工具,实......
  • EndNote里参考文献的期刊名显示错误怎么办?
      本文介绍EndNote文献管理软件导入文献引用时,期刊名称带有%J前缀从而不能正常显示的解决方法。  前期的文章中,我们多次介绍了文献管理软件EndNote的具体使用方法与技巧。而在使用EndNote软件时,我们经常下载.enw等格式的文献数据库导入文件,从而在EndNote软件中导入我们的参考......
  • 【旧文更新】【优秀课设】基于Linux粤嵌GEC6818开发板的电子乐队程序设计(四种模式:和弦
    【旧文更新】【优秀课设】基于Linux粤嵌GEC6818开发板的电子乐队程序设计(四种模式:和弦模式、键盘模式、鼓点模式、编曲模式)文章目录关于旧文新发模式介绍展示摘要代码附录:关于旧文新发关于旧文新发为何要进行旧文新发?因为我在2023年博客之星评选中发现有的人转载......