在 JavaScript 中,有两种不同的模块加载方式:require 和 import。
require 是 CommonJS 的模块加载方式,而 import 是 ES6 中的模块加载方式。
主要区别如下:
- 语法不同
- require 语法:
const module = require('module-name');
- import 语法:
import module from 'module-name';
- 加载方式不同
require 是同步加载模块,而 import 是异步加载模块。
- 引入的模块不同
require 会将整个模块的内容全部引入,而 import 只会引入需要的部分内容,可以通过解构赋值等方式选择性地导入。
下面是一个例子:
// test-module.js module.exports = { name: 'test module', version: '1.0.0' }; // main.js // require const module1 = require('./test-module.js'); console.log(module1); // { name: 'test module', version: '1.0.0' } // import import { name } from './test-module.js'; console.log(name); // test module
可以看到,通过 require 引入的模块是一个对象,包含了整个模块的内容。而通过 import 引入的模块只包含了需要使用的部分内容。