require是AMD规范引入方式
import是es6语法标准
require是运行时调用,可以在代码任何地方引入
import是编译时调用,只能在开头引入
require是赋值的过程
import是解构的过程
require/exports搭配使用
const fs = require('fs')
exports.fs = fs
module.exports = fs
import/export搭配使用
import fs from 'fs'
import {default as fs} from 'fs'
import * as fs from 'fs'
import {readFile} from 'fs'
import {readFile as read} from 'fs'
import fs, {readFile} from 'fs'
export default fs
export const fs
export function readFile
export {readFile, read}
export * from 'fs'
注意点
// export.js
const obj = {a:1,b:2}
export default obj
// index.js
// 使用require方式引入
const objTest = require('./export.js')
console.log(objTest.default.a) // require方式不会解构,只能这样用
// 使用import方式引入
import objTest from './export.js'
console.log(objTest.a) // import解构了,可以直接用a字段