在 Ubuntu 环境下进行 JavaScript 开发时,模块导入是绕不开的核心操作。今天就来详细讲解两种主流方式:CommonJS 模块系统和 ES6 模块系统。如果你是 Node.js 用户,默认采用的就是 CommonJS 规范;如果你更习惯现代前端写法,ES6 模块也完全可以轻松配置使用。

方式一:CommonJS 模块系统(Node.js 默认)
这是 Node.js 自诞生以来就默认支持的模块方案,通过 require 和 module.exports 实现模块的导出与导入。
首先创建一个 moduleA.js 文件,内容非常简单:
function hello() {console.log('Hello from module A!');}module.exports = hello;
然后在另一个文件 main.js 中引入该模块:
const helloFromModuleA = require('./moduleA');helloFromModuleA();
在终端执行 node main.js,就能看到输出结果。整个过程无需额外配置,开箱即用,非常便捷。
方式二:ES6 模块系统
如果你倾向于使用 import / export 这种现代语法,同样可以完美实现。但需要确保 Node.js 版本不低于 v13.2.0,否则无法识别 ES6 模块。
接着需要在 package.json 中添加一行配置,告诉 Node.js 启用 ES6 模块:
{"name": "your-project","version": "1.0.0","type": "module"}
然后创建 moduleA.mjs 文件(也可以直接使用 .js 后缀,只要上述配置了 "type": "module" 即可):
export function hello() {console.log('Hello from module A!');}
在 main.mjs 中这样导入:
import { hello } from './moduleA.mjs';hello();
最后运行 node main.mjs 即可看到效果。值得一提的是,如果启用了 "type": "module",.js 文件也会被当作 ES6 模块处理,但为了清晰区分,许多开发者仍习惯使用 .mjs 扩展名。
