epicureanism / learn-vue

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Require vs Import

require import
由 CommonJS 所支援 ECMAScript 原生支援
執行到require 該行才進行載入

console.log("require module1");
const obj = require("./module2");
console.log(`module2 = ${obj.module2}`);
/***** Output *****/
require module1
require module2
module2 = require module2
一定會在開頭載入並預先執行,無論import 是否寫在檔案結尾

console.log("require module1");
import module2 from "./module2.js";
console.log(`module2 = ${module2}`);
/***** Output *****/
require module2
require module1
module2 = require module2
載入時是一行一行同步載入 載入時是非同步載入 (效能佳)
Runtime 時期加載 (允許動態載入)


let name = a + b;
require('dep')
編譯時期加載 (compile time loading) (變數無法動態加載)


let name = a + b;
//會噴error ↑
import { name } from dep
執行整個js 檔,將結果export 為變數
let dep = require('dep')
dep.print();
console.log(dep.name);
只載入欲載入的物件 (省資源)
import {print, name} from 'dep'
print();
console.log(dep.name);

About

License:Creative Commons Zero v1.0 Universal