都是為了js子產品化程式設計
遵循規範
-
是AMD規範引入方式require
-
是es6的一個文法标準,需要轉換成es5的文法才能相容浏覽器import
調用時間
-
是運作時調用,是以require理論上可以運用在代碼的任何地方require
-
是編譯時調用,是以必須放在檔案頭部import
本質
-
是指派過程,其實require的結果就是對象、數字、字元串、函數等,再把require的結果指派給某個變量require
-
是解構過程,但是目前所有的引擎都還沒用實作import,是以需要babel進行轉碼,把import轉碼為requireimport
require/exports寫法
const fs = require('fs')
exports.fs = fs
module.exports = fs
import/export寫法
導入
import utils from 'utils'
import {default as newName} from 'utils'
import * as newName from 'utils'
import {isPhone} from 'utils'
import {isPhone as isPhone2} from 'utils'
import utils, {isPhone} from 'utils'
導出
export default utils
export const utils
export function utils
export { isPhone, isObject }