c语言编程笔录

首页 >   > 笔记大全

笔记大全

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!