node中如何使用import语法
更新时间:2023-07-15如何在Node.js中使用import语法
在ES6之前,JavaScript使用的是CommonJS的模块系统,其中使用的关键字是require和module.exports。但是在ES6之后,我们可以使用ES6的模块系统,其中使用的关键字是import和export。Node.js已经实现了ES6模块规范,因此我们可以使用import和export来定义和加载模块。
1. 安装支持ES6模块的Node.js版本
从Node.js 13.2.0版本开始,Node.js支持ES6模块并默认打开。如果你使用较老的Node.js版本,可以使用--experimental-modules标志启用ES6模块的支持,或者升级到较新的Node.js版本。
// 打印Node.js版本 console.log(process.version);
2. 导出模块
在ES6模块中,我们使用export关键字导出一个变量、函数、对象或者类。
// 导出变量 export const name='Alice'; // 导出函数 export function sayHello() { console.log('Hello, world!'); } // 导出对象 export const person={ name: 'Bob', age: 20 } // 导出类 export class Person { constructor(name, age) { this.name=name; this.age=age; } sayHello() { console.log(`Hello, my name is ${this.name}, I'm ${this.age} years old.`); } }
3. 导入模块
在ES6模块中,我们使用import关键字导入一个模块中导出的变量、函数、对象或者类。
// 导入变量 import { name } from './example.js'; console.log(name); // 输出:Alice // 导入函数 import { sayHello } from './example.js'; sayHello(); // 输出:Hello, world! // 导入对象 import { person } from './example.js'; console.log(person.name); console.log(person.age); // 输出:Bob // 输出:20 // 导入类 import { Person } from './example.js'; const person1=new Person('Charlie', 25); person1.sayHello(); // 输出:Hello, my name is Charlie, I'm 25 years old.
4. 导出默认模块
每个ES6模块中最多只能有一个默认导出,可以通过export default关键字定义,且在导入时没有花括号。
// 导出默认对象 export default { hello: function() { console.log('Hello, Node.js!'); } }
// 导入默认对象 import obj from './example.js'; obj.hello(); // 输出:Hello, Node.js!