import和require就是兩種不一樣的JS模塊化實現方式而已,因爲以前npm生態的不少包都是基礎CommonJS規範寫的,因此至關一段時間以內必然是import和require這兩種模塊引入方式共存的。javascript
//會報錯 export 1; var m = 1; export m; //以對象的方式導出 就正常 var m = 1; export { m }
//require就比較簡單了,導入是什麼 導出就是什麼 // test.js var firstName = 'Michael'; var lastName = 'Jackson'; var year = 1958; module.exports = { firstName, lastName, year }; // demo.js const test = require('./test.js'); console.log(test); // {firstName: "Michael", lastName: "Jackson", year: 1958}
<img src="~assets/img/icon/red_logo.png" class="logo" alt=""> //等效於 <img :src="require('assets/img/icon/red_logo.png')" class="logo" alt="">
-----------------
require是commonjs的語法 。 路由文件裏,在開發環境裏經過這種方式加載的是同步,不會影響熱更新。java
import是es6的語法。 import的是異步,以這種方式調用,將返回一個 promise。
es6
import('/modules/my-module.js') .then((module) => { // Do something with the module. });