JS中 require 与 import 的区别
在 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 引入的模块只包含了需要使用的部分内容。