针对以上的方法,我们要知道的是:
1. import,require 是导入语法,而 export ,module.exports 是导出语法
2. import 和 export 是 ES6+ 的语法,而 require 和 module.exports 是 CommonJS 规范下的语法,这 2 中方法是不兼容的,不能混合使用
ES6+ 的语法(默认和按需的导入导出也不能混合使用) | CommonJS 规范语法 |
import { func } from './xxx'; // 按需导入 import func from './xxx'; // 默认导入 | const module = require('./xxx') // 导入 |
export const func = () => { ... }; // 按需导出 export default func // 默认导出 | module.exports = { func }; // 导出 |
基于以上的分析,接下来说一说什么是CommonJS
CommonJS 是一种用于实现模块化的规范,主要用于 JavaScript 在服务器端的应用,它定义了模块的导入和导出方式,用来解决 JavaScript 中模块管理的问题,在node.js中普遍使用此语法来完成导入导出,但是这种语法会产生阻塞,会降低浏览器的性能,在不使用node.js的情况下,建议使es6的语法去导入导出