require和import的区别以及相互使用的方式

Node.js 里可分为 CommonJS 模块和 ECMAScript 模块(ESM)两种不同的模块系统。

CommonJS 模块是 Node.js 最初支持的模块系统,它使用 require() 函数来导入模块,使用 module.exportsexports 对象来导出模块。这种模块系统通常只能在 Node.js 环境下使用,并且不允许在浏览器环境中使用。

ECMAScript 模块是 JavaScript 的标准模块系统,它使用 importexport 关键字来导入和导出模块。它可以在 Node.js 环境下和现代浏览器环境中使用,具有更好的跨平台兼容性和可移植性。Node.js 从版本12开始支持 ECMAScript 模块作为实验性功能,并在版本14中正式支持。

cjs文件使用mjs方法

 1 //默认方式
 2 const fs = require("fs");
 3 console.log(fs);
 4 
 5 //转换方式
 6 import("fs")
 7   .then((module) => {
 8     console.log(module);
 9   })
10   .catch((error) => {
11     console.log("处理错误");
12   });

 

mjs文件使用cjs方法

 1 // 默认方法
 2 import fs from "fs";
 3 
 4 console.log(fs);
 5 
 6 //转换的方法
 7 import { createRequire } from "module";
 8 const require = createRequire(import.meta.url);
 9 const fs = require("fs");
10 
11 console.log(fs);

 

 

posted @ 2024-03-02 17:41  编程小妹  阅读(167)  评论(0)    收藏  举报