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

vue中的require使用

 更新時(shí)間:2023年08月05日 10:47:58   作者:程序員的脫發(fā)之路  
require是node中的一個(gè)方法,他的作用是用于引入模塊、 JSON、或本地靜態(tài)文件,這篇文章主要介紹了vue中的require使用,需要的朋友可以參考下

vue中的require

一、基本概念

require 是 node 中的一個(gè)方法,他的作用是 用于引入模塊、 JSON、或本地靜態(tài)文件。require會(huì)在編譯過程中被執(zhí)行,最終會(huì)得到對(duì)應(yīng)文件的內(nèi)容(例如json文件)或者是文件編譯后的目錄路徑(例如圖片文件,當(dāng)然如果圖片大小小于一定值,會(huì)被直接轉(zhuǎn)換為base64編碼,具體配置參考vue-cli)。

二、具體演示

1.引入json

當(dāng)我們想要在代碼中使用本地json數(shù)據(jù)時(shí),我們除了可以發(fā)起一個(gè)get請(qǐng)求外,我們還可以使用require直接引入:在public文件中放入測(cè)試json a.json

引入json:

const a = require('/public/a.json')
    console.log(a)

輸出內(nèi)容:

2.引入圖片

同樣的位置放入一張圖片 logo.png(6KB)img.png(500KB)

引入圖片:

const logo = require('/public/logo.png')
console.log(logo)
const img = require('/public/img.png')
console.log(img)

輸出內(nèi)容:

注意:vue項(xiàng)目里,在javascript中使用圖片時(shí),一定要用require引入,不然就會(huì)無法獲取到圖片因?yàn)樵趈s中直接使用字符串路徑時(shí),編譯后也會(huì)使用當(dāng)前字符串路徑引入,而編譯后的圖片路徑并不一定是圖片存放的目錄路徑。而使用require引入時(shí),就會(huì)獲取到圖片編譯后的路徑了。

三、require.context

require.context可以遍歷文件夾的文件,從中獲取指定文件,自動(dòng)導(dǎo)入模塊。

require.context(directory, useSubdirectories, regExp, mode = 'sync')

directory: 表示檢索的目錄useSubdirectories:表示是否檢索子文件夾regExp: 匹配文件的正則表達(dá)式,一般是文件名mode: 加載模式,“sync” | “eager” | “weak” | “lazy” | “lazy-once”

也就是說當(dāng)文件夾中有多個(gè)文件時(shí),我們可以一次性引入。

引入圖片:

const imgFiles = require.context('/public', false, /.png$/)
imgFiles.keys().forEach((key) => {
  console.log(key, imgFiles(key))
})

.keys()獲取引入的所有文件的key,content(key)獲取引入文件的內(nèi)容(路徑或者base64)

引入json

const jsonFiles = require.context('/public', false, /.json$/)
jsonFiles.keys().forEach((key) => {
  console.log(key, jsonFiles(key)) // 舊的版本vue-cli可能需要 jsonFiles(key).default獲取,請(qǐng)自行判斷
})

引入模塊js:

建立兩個(gè)js文件

引入:

const jsFiles = require.context('/public', false, /.js$/)
jsFiles.keys().forEach((key) => {
  console.log(key, jsFiles(key))
})

引入vue文件:

我們可以用來批量注冊(cè)全局組件新建兩個(gè)組件:

批量引入并注冊(cè):

app.use(store).use(router).mount('#app')
const comFiles = require.context('@/components', false, /.vue$/)
comFiles.keys().forEach((key) => {
  const reqCom = comFiles(key).default
  const comName = reqCom.name || key.replace(/\.\/(.*)\.vue/, '$1')
  console.log(key, reqCom)
  app.component(comName, reqCom)
})

Vue require 使用

require.context ?使用 一次引入多個(gè)文件
require.context('文件路徑',true/false,正則表達(dá)式)
const modulesFiles = require.context('./modules', true, /\.js$/)?
const modules = modulesFiles.keys().reduce((modules, modulePath) => {
? // set './app.js' => 'app'
? const moduleName = modulePath.replace(/^\.\/(.*)\.\w+$/, '$1') ?// 替換后綴名
? const value = modulesFiles(modulePath) ?// 文件內(nèi)容
? modules[moduleName] = value.default
? return modules
}, {})

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

相關(guān)文章

  • vue3實(shí)現(xiàn)密碼輸入框效果的示例代碼

    vue3實(shí)現(xiàn)密碼輸入框效果的示例代碼

    這篇文章主要為大家詳細(xì)介紹了如何利用vue3實(shí)現(xiàn)6位的密碼輸入框效果,文中的示例代碼簡(jiǎn)潔易懂,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-08-08
  • 詳解vue實(shí)現(xiàn)坐標(biāo)拾取器功能示例

    詳解vue實(shí)現(xiàn)坐標(biāo)拾取器功能示例

    這篇文章主要介紹了詳解vue實(shí)現(xiàn)坐標(biāo)拾取器功能示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • 使用vue + less 實(shí)現(xiàn)簡(jiǎn)單換膚功能的示例

    使用vue + less 實(shí)現(xiàn)簡(jiǎn)單換膚功能的示例

    下面小編就為大家分享一篇使用vue + less 實(shí)現(xiàn)簡(jiǎn)單換膚功能的示例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-02-02
  • vue中跨域以及sessionId不一致問題及解決

    vue中跨域以及sessionId不一致問題及解決

    這篇文章主要介紹了vue中跨域以及sessionId不一致問題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • 前端vue3使用axios調(diào)用后端接口的實(shí)現(xiàn)方法

    前端vue3使用axios調(diào)用后端接口的實(shí)現(xiàn)方法

    vue本身不支持ajax接口的請(qǐng)求,所以在vue中經(jīng)常使用axios這個(gè)接口請(qǐng)求工具,下面這篇文章主要給大家介紹了關(guān)于前端vue3使用axios調(diào)用后端接口的實(shí)現(xiàn)方法,需要的朋友可以參考下
    2022-12-12
  • vue如何使用cookie、localStorage和sessionStorage進(jìn)行儲(chǔ)存數(shù)據(jù)

    vue如何使用cookie、localStorage和sessionStorage進(jìn)行儲(chǔ)存數(shù)據(jù)

    這篇文章主要介紹了vue如何使用cookie、localStorage和sessionStorage進(jìn)行儲(chǔ)存數(shù)據(jù),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • vue 注冊(cè)組件的使用詳解

    vue 注冊(cè)組件的使用詳解

    Vue.js的組件的使用有3個(gè)步驟:創(chuàng)建組件構(gòu)造器、注冊(cè)組件和使用組件。這篇文章主要介紹了vue 注冊(cè)組件的使用,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2018-05-05
  • vue如何監(jiān)聽對(duì)象或者數(shù)組某個(gè)屬性的變化詳解

    vue如何監(jiān)聽對(duì)象或者數(shù)組某個(gè)屬性的變化詳解

    這篇文章主要給大家介紹了關(guān)于vue如何監(jiān)聽對(duì)象或者數(shù)組某個(gè)屬性的變化,在Vue.js中可以通過watch監(jiān)聽屬性變化并動(dòng)態(tài)修改其他屬性的值,watch通過監(jiān)聽器函數(shù)接收新舊值,實(shí)現(xiàn)屬性間的數(shù)據(jù)聯(lián)動(dòng),需要的朋友可以參考下
    2024-12-12
  • vue2和vue3中provide/inject的基本用法示例

    vue2和vue3中provide/inject的基本用法示例

    Vue中的provide/inject是一種組件間通信的方式,它允許父組件向子組件傳遞數(shù)據(jù),而不需要通過props或事件來實(shí)現(xiàn),下面這篇文章主要給大家介紹了關(guān)于vue2/vue3中provide/inject的基本用法的相關(guān)資料,需要的朋友可以參考下
    2023-04-04
  • 如何在 Vue3 中使用 OpenLayers 實(shí)現(xiàn)事件 loadstart 和 loadend

    如何在 Vue3 中使用 OpenLayers 實(shí)現(xiàn)事件 loadst

    在這篇文章中,我將詳細(xì)介紹如何在 Vue3 + OpenLayers 中監(jiān)聽 loadstart 和 loadend 事件,并通過 Vue3 Composition API 進(jìn)行代碼優(yōu)化,使其更加高效、健壯,感興趣的朋友一起看看吧
    2025-04-04

最新評(píng)論

荆门市| 聂拉木县| 兴和县| 稷山县| 望奎县| 丹巴县| 安阳县| 定远县| 上林县| 台东县| 黄浦区| 晋宁县| 阜新| 三明市| 昭觉县| 嘉义县| 项城市| 甘孜县| 盐池县| 石台县| 鄄城县| 岳阳市| 会理县| 通许县| 兴山县| 纳雍县| 彭山县| 石门县| 九江市| 绩溪县| 张家川| 汝州市| 大城县| 育儿| 崇信县| 托里县| 巧家县| 博罗县| 邹城市| 黎川县| 镶黄旗|