import和require的區別
node編程中最重要的思想就是模塊化,import
和require
都是被模塊化所使用。
遵循規範
require
是 AMD規範引入方式import
是es6的一個語法標準,如果要兼容瀏覽器的話必須轉化成es5的語法
調用時間
- require是運行時調用,所以require理論上可以運用在代碼的任何地方
- import是編譯時調用,所以必須放在文件開頭
本質
- require是賦值過程,其實require的結果就是對象、數字、字符串、函數等,再把require的結果賦值給某個變量
- import是解構過程,但是目前所有的引擎都還沒有實現import,我們在node中使用babel支持ES6,也僅僅是將ES6轉碼爲ES5再執行,import語法會被轉碼爲require
對import路由懶加載的瞭解
如果使用上述的方法,頁面一加載就會執行 import Login from '@/views/login', 相當於編譯執行了加載組件
使用路由懶加載的寫法,只會在進入當前這個路由時候纔會走 component ,然後在運行import編譯加載相應的組件
可以理解也是爲通過Promise
的resolve
機制。因爲Promise
函數返回的Promise
爲resolve
組件本身,而我們又可以使用import
來導入組件
import會返回一個Promise對象