vue中require與import的區(qū)別詳解
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é)果賦值給某個變量,代碼實現(xiàn)首先如:
// tt.js module.export = { tt: function(){ console.log("這是一個函數(shù),也就是一個對象") } }
解析:在tt.js中使module這個意思就是模塊的意思,就是實現(xiàn)特定功能的一組方法, 也就是只要把不同的函數(shù)(以及記錄狀態(tài)的變量)簡單地放在一起,就算是一個模塊。用module.export中的export這個變量接收返回的函數(shù)名為tt的函數(shù)
然后:
// bb.js中 var obj = require('../tt.js') obj.tt() // "這是一個函數(shù),也就是一個對象"
解析:在bb.js中獲取到tt.js賦值給變量obj,然后調(diào)用該方法
本質(zhì)上是將要導(dǎo)出的對象賦值給module這個的對象的export屬性,在其他文件中通過require這個方法訪問該屬性
import的基本語法:
導(dǎo)出的對象必須與模塊中的值一一對應(yīng),就是導(dǎo)出的對象與整個模塊進行解構(gòu)賦值,例如:
//tt.js中 export default{ //(這種方法是最常使用的方法,加入default關(guān)鍵字代表在import時可以使用任意變量名并且不需要花括號{}) b: function(){ console.log("這是一個函數(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對象進行解構(gòu)賦值。 import aa as As from '...' //使用as關(guān)鍵字,這里表示將aa代表Aa引入(當(dāng)變量名稱有沖突時可以使用這種方式解決沖突) import {a as Aa,b,c} //as關(guān)鍵字的其他使用方法
require和import相互轉(zhuǎn)換使用:
import list from './list'; //等價于 var list = require('./list');
require和import分別使用在:
- require 是賦值過程并且是運行時才執(zhí)行,也就是異步加載。
- require可以理解為一個全局方法,因為它是一個方法所以意味著可以在任何地方執(zhí)行。
- import 是解構(gòu)過程并且是編譯時執(zhí)行。
- import必須寫在文件的頂部。
require和import的優(yōu)缺點比較:
require的性能相對于import稍低,因為require是在運行時才引入模塊并且還賦值給某個變量,而import只需要依據(jù)import中的接口在編譯時引入指定模塊所以性能稍高。
到此這篇關(guān)于vue中require與import的區(qū)別詳解的文章就介紹到這了,更多相關(guān)require與import的區(qū)別內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
vue的注意規(guī)范之v-if 與 v-for 一起使用教程
這篇文章主要介紹了vue的注意規(guī)范之v-if 與 v-for 一起使用方法,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2019-08-08Vue3之Mixin的使用方式(全局,局部,setup內(nèi)部使用)
這篇文章主要介紹了Vue3之Mixin的使用方式(全局,局部,setup內(nèi)部使用),具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-10-10在vue中實現(xiàn)antd的動態(tài)主題的代碼示例
在需求開發(fā)階段,鑒于項目采用了antd作為基礎(chǔ)組件庫,確保組件外觀與antd一致變得尤為重要,這包括顏色、字體大小及尺寸等樣式的統(tǒng)一,然而,截至當(dāng)前antd-vue尚未實現(xiàn)這一便捷的CSS變量特性,但理解其背后的實現(xiàn)機制后,我們可以自行構(gòu)建這一功能,需要的朋友可以參考下2024-07-07vue 中動態(tài)綁定class 和 style的方法代碼詳解
這篇文章主要介紹了vue 中動態(tài)綁定class 和 style的方法,通過實例結(jié)合的形式給大家接受的非常詳細,需要的朋友參考下吧2018-06-06