關於import, @, *, export, export default的用法和區別
阿新 • • 發佈:2018-12-24
import (匯入)
用於在一個模組中載入另一個含有export介面的模組
用法 :
import { name} from "/.a.js" //export 匯入一個
import { name, age } from "/.a.js" //export 匯入多個
import Vue from 'vue' //export default 匯入方式
import '/modules/my-module.js' //模組僅為副作用而匯入,而不匯入模組中的任何內容,執行模組中的全域性程式碼。
import myDefault, {foo, bar} from "my-module"; //export 和export default 一起匯入
import model from "@/common/model" //這裡的@指的是自動補全路徑
import * as myModule from '/modules/my-module.js' //匯入整個模組的內容
關於@解釋
import model from "@/common/model"
resolve: {
// 自動補全的副檔名
extensions: ['.js' , '.vue', '.json'],
// 預設路徑代理
// 例如 import Vue from 'vue',會自動到 'vue/dist/vue.common.js'中尋找
alias: {
'@': resolve('src'),
'@config': resolve('config'),
'vue$': 'vue/dist/vue.common.js'
}
}
// @ 等價於 /src 這個目錄,避免寫麻煩又易錯的相對路徑
關於*解釋
這將myModule插入當前作用域,其中包含來自位於/modules/my-module.js檔案中匯出的所有模組。
import * as myModule from '/modules/my-module.js'
在這裡,訪問匯出意味著使用模組名稱(在這種情況下為“myModule”)作為名稱空間。例如,如果上面匯入的模組包含一個doAllTheAmazingThings(),你可以這樣呼叫
myModule.doAllTheAmazingThings();
export 和 export default (匯出)
相同點 :
1. 用於對外輸出本模組(一個檔案可以理解為一個模組)變數的介面
2. 可用於匯出常量、函式、檔案、模組等
3. 其它檔案或模組中通過import+(常量 | 函式 | 檔案 | 模組)名的方式,將其匯入,以便能夠對其進行使用
不同點 :
1. 在一個檔案或模組中,export、import可以有多個,export default僅有一個
2. 通過export方式匯出,在匯入時要加{ },export default則不需要
export用法
var name1="李四";
var name2="張三";
export name1;
export name2;
也可以這樣
var name1="李四";
var name2="張三";
export {name1, name2};
export default用法
var name="李四";
export default name
export, export default 配合import使用
var name="李四";
export { name }
//import { name } from "/.a.js"
可以寫成:
var name="李四";
export default name
//import name from "/.a.js" 這裡name不需要大括號
實際運用
匯出匯入函式也是一樣的
匯出檔案a.js
function add(x,y){
alert(x*y)
// 想一想如果這裡是個返回值比如: return x-y,下邊的函式怎麼引用
}
export { add }
匯入檔案
import { add } from "/.a.js" //路徑根據你的實際情況填寫
export default {
data () {
return { }
},
created:function(){
add(4,6) //彈出來24
}
}