CommonJS 和 ECMAScript 转换
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. 以前使用的 node 全局变量 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"
}
## 希望内容对你有帮助,如果有错误请联系我 q: 1911509826,感谢支持
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理