最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue中require與import的區(qū)別詳解

 更新時(shí)間:2023年10月20日 09:31:43   作者:架構(gòu)帥  
這篇文章主要介紹了vue中require與import的區(qū)別詳解,require相當(dāng)于module.exports的傳送門,module.exports后面的內(nèi)容是什么,require的結(jié)果就是什么,對象、數(shù)字、字符串、函數(shù),再把require的結(jié)果賦值給某個(gè)變量,需要的朋友可以參考下

vue中require與import之間的區(qū)別

首先我們要明白require與import的基本語法:

require的基本語法:在導(dǎo)出的文件中定義module.export,導(dǎo)出的對象的類型不予限定(可以是任何類型,字符串,變量,對象,方法),在引入的文件中調(diào)用require()方法引入對象即可,換一種說法就是require相當(dāng)于module.exports的傳送門,module.exports后面的內(nèi)容是什么,require的結(jié)果就是什么,對象、數(shù)字、字符串、函數(shù)……再把require的結(jié)果賦值給某個(gè)變量,代碼實(shí)現(xiàn)首先如:

// tt.js
module.export = {
    tt: function(){
     console.log("這是一個(gè)函數(shù),也就是一個(gè)對象")
  }
}

解析:在tt.js中使module這個(gè)意思就是模塊的意思,就是實(shí)現(xiàn)特定功能的一組方法, 也就是只要把不同的函數(shù)(以及記錄狀態(tài)的變量)簡單地放在一起,就算是一個(gè)模塊。用module.export中的export這個(gè)變量接收返回的函數(shù)名為tt的函數(shù)

然后:

// bb.js中
var obj = require('../tt.js')
obj.tt()  // "這是一個(gè)函數(shù),也就是一個(gè)對象"

解析:在bb.js中獲取到tt.js賦值給變量obj,然后調(diào)用該方法

本質(zhì)上是將要導(dǎo)出的對象賦值給module這個(gè)的對象的export屬性,在其他文件中通過require這個(gè)方法訪問該屬性

import的基本語法:

導(dǎo)出的對象必須與模塊中的值一一對應(yīng),就是導(dǎo)出的對象與整個(gè)模塊進(jìn)行解構(gòu)賦值,例如:

//tt.js中
export default{    //(這種方法是最常使用的方法,加入default關(guān)鍵字代表在import時(shí)可以使用任意變量名并且不需要花括號{})
     b: function(){
         console.log("這是一個(gè)函數(shù)")
   }
}
export function(){  //導(dǎo)出函數(shù)
}
export {newF as aa ,bb,cc}  //  解構(gòu)賦值語法(as關(guān)鍵字在這里表示將newF作為aa的數(shù)據(jù)接口暴露給外部,外部不能直接訪問aa)
//bb.js中
import  aa  from  '...'  //import常用語法(需要export中帶有default關(guān)鍵字)可以任意指定import的名稱
import {...} from '...'  // 基本方式,導(dǎo)入的對象需要與export對象進(jìn)行解構(gòu)賦值。
import aa as As from '...'  //使用as關(guān)鍵字,這里表示將aa代表Aa引入(當(dāng)變量名稱有沖突時(shí)可以使用這種方式解決沖突)
import {a as Aa,b,c}  //as關(guān)鍵字的其他使用方法

require和import相互轉(zhuǎn)換使用:

import list from './list';
//等價(jià)于
var list = require('./list');

require和import分別使用在:

  • require 是賦值過程并且是運(yùn)行時(shí)才執(zhí)行,也就是異步加載。
  • require可以理解為一個(gè)全局方法,因?yàn)樗且粋€(gè)方法所以意味著可以在任何地方執(zhí)行。
  • import 是解構(gòu)過程并且是編譯時(shí)執(zhí)行。
  • import必須寫在文件的頂部。

require和import的優(yōu)缺點(diǎn)比較:

require的性能相對于import稍低,因?yàn)閞equire是在運(yùn)行時(shí)才引入模塊并且還賦值給某個(gè)變量,而import只需要依據(jù)import中的接口在編譯時(shí)引入指定模塊所以性能稍高。

到此這篇關(guān)于vue中require與import的區(qū)別詳解的文章就介紹到這了,更多相關(guān)require與import的區(qū)別內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • vue對storejs獲取的數(shù)據(jù)進(jìn)行處理時(shí)遇到的幾種問題小結(jié)

    vue對storejs獲取的數(shù)據(jù)進(jìn)行處理時(shí)遇到的幾種問題小結(jié)

    這篇文章主要介紹了vue對storejs獲取的數(shù)據(jù)進(jìn)行處理時(shí)遇到的幾種問題小結(jié),需要的朋友可以參考下
    2018-03-03
  • 淺談vue的第一個(gè)commit分析

    淺談vue的第一個(gè)commit分析

    這篇文章主要介紹了淺談vue的第一個(gè)commit分析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • VUE中template的三種寫法

    VUE中template的三種寫法

    這篇文章介紹了VUE中template的三種寫法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-04-04
  • Vue?2源碼閱讀?Provide?Inject?依賴注入詳解

    Vue?2源碼閱讀?Provide?Inject?依賴注入詳解

    這篇文章主要為大家介紹了Vue?2源碼閱讀?Provide?Inject?依賴注入詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08
  • 在Vue項(xiàng)目中修改啟動(dòng)后的Logo和項(xiàng)目名稱的方法

    在Vue項(xiàng)目中修改啟動(dòng)后的Logo和項(xiàng)目名稱的方法

    在Vue項(xiàng)目開發(fā)中,我們經(jīng)常需要根據(jù)項(xiàng)目需求修改默認(rèn)的品牌標(biāo)識(shí),無論是企業(yè)級管理系統(tǒng)還是個(gè)人項(xiàng)目,定制化的Logo和名稱都能讓項(xiàng)目更具辨識(shí)度,本文將詳細(xì)介紹如何在Vue項(xiàng)目中修改啟動(dòng)后的Logo和項(xiàng)目名稱,需要的朋友可以參考下
    2026-03-03
  • Vue3中內(nèi)置組件Teleport的基本使用與典型案例

    Vue3中內(nèi)置組件Teleport的基本使用與典型案例

    Teleport是一種能夠?qū)⑽覀兊哪0逡苿?dòng)到DOM中Vue app之外的其他位置的技術(shù),下面這篇文章主要給大家介紹了關(guān)于Vue3中內(nèi)置組件Teleport的基本使用與典型案例的相關(guān)資料,需要的朋友可以參考下
    2023-04-04
  • 關(guān)于Vue實(shí)例創(chuàng)建的整體流程

    關(guān)于Vue實(shí)例創(chuàng)建的整體流程

    這篇文章主要介紹了關(guān)于Vue實(shí)例創(chuàng)建的整體流程,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • Vue中$set()的使用方法場景分析

    Vue中$set()的使用方法場景分析

    由于 Vue 會(huì)在初始化實(shí)例時(shí)進(jìn)行雙向數(shù)據(jù)綁定,使用Object.defineProperty()對屬性遍歷添加 getter/setter 方法,所以屬性必須在 data 對象上存在時(shí)才能進(jìn)行上述過程 ,這樣才能讓它是響應(yīng)的,這篇文章主要介紹了Vue中$set()的使用方法場景分析,需要的朋友可以參考下
    2023-02-02
  • Vue+LogicFlow+Flowable實(shí)現(xiàn)工作流

    Vue+LogicFlow+Flowable實(shí)現(xiàn)工作流

    本文主要介紹了Vue+LogicFlow+Flowable實(shí)現(xiàn)工作流,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-12-12
  • vue使用節(jié)流函數(shù)的踩坑實(shí)例指南

    vue使用節(jié)流函數(shù)的踩坑實(shí)例指南

    防抖和節(jié)流的目的都是為了減少不必要的計(jì)算,下面這篇文章主要給大家介紹了關(guān)于vue使用節(jié)流函數(shù)踩坑的相關(guān)資料,需要的朋友可以參考下
    2021-05-05

最新評論

白银市| 澄城县| 惠东县| 东莞市| 陵川县| 五家渠市| 老河口市| 筠连县| 吉林市| 建水县| 顺昌县| 万山特区| 辛集市| 玉林市| 佛学| 大宁县| 五华县| 青河县| 瑞安市| 古田县| 绿春县| 老河口市| 武乡县| 仪征市| 望奎县| 基隆市| 三河市| 东丰县| 定边县| 苏尼特左旗| 河曲县| 无锡市| 连山| 五峰| 滨州市| 昌邑市| 勃利县| 洪洞县| 金山区| 获嘉县| 客服|