require和import都是模块化使用
1、require/exports:
require/exports是 AMD规范(CommonJS)引入/导出方式
require是运行时调用,所以require理论上可以运用在代码的任何地方
const fs = require('fs')
exports.fs = fs
module.exports = fs
//动态导入
import('/modules/my-module.js')
.then((module) => {
// Do something with the module.
});
2、import / export:
import / export是es6(ECMAScript2015)的一个语法标准,如果要兼容浏览器的话必须转化成es5的语法
import是编译时调用,所以必须放在文件开头
import fs from 'fs'
import {readFile} from 'fs' //从 fs 导入 readFile 模块
import {default as fs} from 'fs' //从 fs 中导入使用 export default 导出的模块
import * as fileSystem from 'fs' //从 fs 导入所有模块,引用对象名为 fileSystem
import {readFile as read} from 'fs' //从 fs 导入 readFile 模块,引用对象名为 read
//1、引入 export default 导出的模块不用加 {},引入非 export default 导出的模块需要加 {}
// 2、一个文件只能导出一个 default 模块
export default fs
export const fs
export function readFile
export {readFile, read}
export * from 'fs'