首页 > 其他分享 >CommonJS 和 ECMAScript 转换

CommonJS 和 ECMAScript 转换

时间:2023-09-07 19:11:05浏览次数:42  
标签:__ CommonJS 转换 使用 ECMAScript import path dirname

CommonJS 和 ECMAScript

前言:在完成一个加密工具的过程中,本来只想使用 commonjs 语法完成该功能,但是在使用 chalk 的时候发现 chalk 是通过 ES 模块导出的,无法使用 require 引入(当然也有一些方法,可以使用 bable 去转化,但是本人想实现使用 es 语法,目前还没写多少内容,以下是转化注意的地方)

1. 将自己工具函数的导出方式进行改变

// 起初都是使用
module.exports = { key: value };
// 方式导出,现在改成
export { a, b, c };

2. 所有的导入语法进行修改

// 将 require 改为 import 既可例如
const path = require("path");
import path from "path";

3. 以前使用的 nodeq 全局变量 dirname 需要替换

// 原先代码可以直接使用
// 修改后
import path from "path";
import { fileURLToPath } from "url";
const __filename = fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename);
// 使用__dirname 即可

4. 去 package.json 中添加 type 字段

{
  //...
  "type": "module"
}

标签:__,CommonJS,转换,使用,ECMAScript,import,path,dirname
From: https://www.cnblogs.com/gjzsa/p/17664217.html

相关文章

  • 通过StarWindV2VConverter将VMWare的CentOS7虚拟机转换成Hyper-V产生所warning: /dev/
    1.在VMWare中将CentOS7虚拟机导出ovf,在StarWindV2VConverter中将其转换为VHDX2.在Hyper-V中新建虚拟机2.1在选择代数时要注意一定要选择“第一代”2.2在选择选择虚拟硬盘时,选择已转换好的VHDX文件3.启动Hyper-V中新建的虚拟机3.1出现了如下的问题-------------3.2处理方法在......
  • 视频上传过程中自动转换为flv格式并截图生成缩略图(Java调用命令实现)
    //视频上传过程中自动转换为flv格式并截图生成缩略图(Java调用命令实现)importjava.util.ArrayList;importjava.util.List;publicclassVideoProcess{System.out.println(oldfilepath+"->"+newfilename+"->"+newimg);List<String>commen......
  • 入门篇-其之三-基本数据类型及其转换
    文章结构如下目录整数类型浮点类型字符类型布尔类型数字的进制表示(了解)原码、反码、补码(了解)自动类型提升强制类型转换Java的数据类型分为基本数据类型和引用数据类型,具体分类如下图:对于初学者而言,认为字符串类型String也属于基本数据类型,事实上String属于类,即引用数据类型。......
  • 以最短的方式将所有PHP类型转换为字符串
    将所有PHP类型转换为字符串的最短方式是使用serialize()函数和unserialize()函数。serialize()函数将任何PHP类型序列化为字符串。这意味着它将对象、数组和其他非字符串类型转换为一个字符串,以便在后续的存储或传输过程中使用。示例代码如下:$value=[1,2,3];//需要转换为字符......
  • mybatis类型转换。TypeHandler案例
    配置mybatis-plus:configuration:map-underscore-to-camel-case:truecache-enabled:falseglobal-config:db-config:column-underline:truedb-type:mysqlrefresh:falsetype-handlers-package:com.peony.common.typehandlers......
  • UTM虚拟机镜像文件及格式转换
    UTM虚拟机的image文件藏的比较深,本身app界面没有提供导出的选项,因此需要自己手动操作。UTM上点击Drive只能看到这个信息:具体image保存路径:~/Library/Containers/com.utmapp.UTM/Data/Documents/这个路径在MacFinder下默认看不到,可通过Terminal命令行进入然后copy一份image文件,默......
  • switch文件格式转换
    1.链接https://github.com/dezem/SAK/releaseshttps://github.com/dezem/SAK2.NSZ===>NSP格式2.1prod.keys替换复制yuzu的prod.keys覆盖工具的prod.keys2.2运行工具......
  • dotnet 将任意时区的 DateTimeOffset 转换为中国时区时间文本
    本文告诉大家在拿到任意时区的DateTimeOffset对象,将DateTimeOffset转换为使用中国的+8时区表示的时间在开始之前,需要说明的是,采用DateTimeOffset会比DateTime更优的一个点是DateTimeOffset是带上时区的,这就意味着方便的在多个不同的时区进行传递和序列化的时候,不会丢......
  • 将Python深度神经网络转换成C++
     项目方案:将Python深度神经网络转换成C++项目概述本项目旨在将使用Python编写的深度神经网络模型转换为C代码,以便在C环境中部署和运行。通过将模型从Python转换为C++,可以提高模型的性能和效率,并扩展模型在不同平台和设备上的应用。技术方案1.选择转换工具我们可以使用以下两种......
  • 思科无线:将⼀个AP转换为ME模式(思科 Mobility Express、内嵌在AP上的无线控制器 )
    (转)思科无线:将⼀个AP转换为ME模式(思科MobilityExpress、内嵌在AP上的无线控制器)将⼀个AP转换为ME模式 思科MobilityExpress概述(内嵌在AP上的无线控制器功能)这是一种嵌入在思科Aironet®1560、1815W、1815I、1830、1850、2800和3800系列802.11acWave2无线接入点......