1. 程式人生 > >關於import, @, *, export, export default的用法和區別

關於import, @, *, export, export default的用法和區別

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
  }
 }