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