天天看點

JS 中require和import總結

都是為了js子產品化程式設計

遵循規範

  • require

    是AMD規範引入方式
  • import

    是es6的一個文法标準,需要轉換成es5的文法才能相容浏覽器

調用時間

  • require

    是運作時調用,是以require理論上可以運用在代碼的任何地方
  • import

    是編譯時調用,是以必須放在檔案頭部

本質

  • require

    是指派過程,其實require的結果就是對象、數字、字元串、函數等,再把require的結果指派給某個變量
  • import

    是解構過程,但是目前所有的引擎都還沒用實作import,是以需要babel進行轉碼,把import轉碼為require

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 }
           

繼續閱讀