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

webpack的 rquire.context用法實(shí)現(xiàn)工程自動(dòng)化的方法

 更新時(shí)間:2020年02月07日 09:44:02   作者:禪來蟬去  
這篇文章主要介紹了webpack的 rquire.context用法實(shí)現(xiàn)工程自動(dòng)化的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

最近仿寫一個(gè)項(xiàng)目,如下目錄,base內(nèi)部都是一些基礎(chǔ)的組件,但是并沒有在main.js 中使用常規(guī)的方式去全局注冊(cè)的,剛開始還不明白沒有注冊(cè)的組件怎么在全局使用的

項(xiàng)目目錄

//main.js
import global from './utils/global'
Vue.use(global)
//解釋:如果自動(dòng)化的代碼直接寫在一個(gè)js文件中直接全局的引入main.js 中也是沒有問題的,
//但是這里是按照自定義插件的方式寫下global文件中的就要使用vue的use方法

自定義global插件,通過全局的Vue.use(global)來調(diào)用

//global.js
import {
 Input,
 Dialog,
} from "element-ui"
import VueLazyload from "vue-lazyload"
import Meta from 'vue-meta'
import * as utils from "./index"

export default {
 install(Vue) {
 const requireComponent = require.context(
  "@/base",
  true,
  /[a-z0-9]+\.(jsx?|vue)$/i,
 )
 //console.log(requireComponent);
 //console.log(requireComponent.keys(),)
 //console.log(requireComponent.resolve,)
 //console.log(requireComponent.id,)
 //console.log(requireComponent.resolve("./tabs.vue"))
 //console.log(requireComponent("./tabs.vue"));
 //console.log(requireComponent("./tabs.vue") === require("@/base/tabs"));

 
 // 批量注冊(cè)base組件
 requireComponent.keys().forEach(fileName => {
  const componentConfig = requireComponent(fileName)
  const componentName = componentConfig.default.name
  if (componentName) {
   Vue.component(componentName, componentConfig.default ||   
    componentConfig)
  }
 })
 
 Vue.prototype.$ELEMENT = { size: "small" }
 Vue.prototype.$utils = utils

 Vue.use(Input)
 Vue.use(Dialog)
 Vue.use(Meta)
 },
}

解析 require.context

const requireComponent = require.context(
  "@/base",
  true,
  /[a-z0-9]+\.(jsx?|vue)$/i,
 )

require.context返回一個(gè)webpack的上下文環(huán)境 , 返回的是一個(gè)函數(shù),

有三個(gè)參數(shù):

  • 要搜索的文件夾目錄,(不可以是變量,webpack在編譯階段無法定位目錄)
  • 是否還要再搜索他的子目錄
  • 匹配文件的正則表達(dá)式
require.context(directory, useSubdirectories, regExp);

總結(jié):

  • require.context模塊返回一個(gè)函數(shù),這個(gè)函數(shù)可以接受一個(gè)參數(shù),
  • require.context 的第一個(gè)參數(shù)不可以是變量,webpack在編譯階段無法定位到目錄
  • 有三個(gè)屬性和方法, resolve , keys , id
    • resolve 是一個(gè)函數(shù),傳入文件的路徑得到解析后的模塊的id
    • keys 是一個(gè)函數(shù) , 返回所有文件路徑組成的數(shù)組
    • id 是上下文環(huán)境中包含的模塊的id , 可能在使用module.hot.accept (熱模塊更新)時(shí)使用

看下面兩幅圖片解析的更清晰

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 解決EventSource 刪除單詞的前置空格問題記錄

    解決EventSource 刪除單詞的前置空格問題記錄

    EventSource是HTML5中的一種新的API,用來實(shí)現(xiàn)服務(wù)器端向客戶端推送事件,相比于常規(guī)的輪詢方式,EventSource可以實(shí)現(xiàn)更加高效、低延遲的數(shù)據(jù)傳輸,這篇文章主要介紹了解決EventSource 刪除單詞的前置空格問題記錄,需要的朋友可以參考下
    2024-03-03
  • JavaScript創(chuàng)建類/對(duì)象的幾種方式概述及實(shí)例

    JavaScript創(chuàng)建類/對(duì)象的幾種方式概述及實(shí)例

    JS中的對(duì)象強(qiáng)調(diào)的是一種復(fù)合類型,JS中創(chuàng)建對(duì)象及對(duì)對(duì)象的訪問是極其靈活的,下面與大家分享下創(chuàng)建類/對(duì)象的幾種方式,感興趣的朋友可以了解下哈
    2013-05-05
  • JS的參數(shù)傳遞示例介紹

    JS的參數(shù)傳遞示例介紹

    想必大家對(duì)參數(shù)傳遞并不陌生吧,本文為大家介紹下JS的參數(shù)傳遞,需要的朋友可以參考下
    2014-02-02
  • uniapp項(xiàng)目使用防抖及節(jié)流的方案實(shí)戰(zhàn)

    uniapp項(xiàng)目使用防抖及節(jié)流的方案實(shí)戰(zhàn)

    防抖就是指觸發(fā)事件后把觸發(fā)非常頻繁的事件合并成一次去執(zhí)行,節(jié)流是指頻繁觸發(fā)事件時(shí)只會(huì)在指定的時(shí)間段內(nèi)執(zhí)行事件回調(diào),即觸發(fā)事件間隔大于等于指定的時(shí)間才會(huì)執(zhí)行回調(diào)函數(shù),這篇文章主要給大家介紹了關(guān)于uniapp項(xiàng)目使用防抖及節(jié)流的相關(guān)資料,需要的朋友可以參考下
    2023-01-01
  • JS 打印功能代碼可實(shí)現(xiàn)打印預(yù)覽、打印設(shè)置等

    JS 打印功能代碼可實(shí)現(xiàn)打印預(yù)覽、打印設(shè)置等

    一個(gè)不錯(cuò)的JS 打印功能代碼,包括打印預(yù)覽、打印設(shè)置等,里面整合了很多知識(shí),是一個(gè)不錯(cuò)的學(xué)習(xí)案例
    2014-10-10
  • JavaScript單一職責(zé)原則深入分析

    JavaScript單一職責(zé)原則深入分析

    這篇文章主要介紹了理解JavaScript單一職責(zé)原則,單一職責(zé)原則(SRP:Single?responsibility?principle)又稱單一功能原則,面向?qū)ο笪鍌€(gè)基本原則(SOLID)之一,下文更多相關(guān)介紹感興趣的小伙伴可以參考一下
    2022-08-08
  • ES6學(xué)習(xí)筆記之map、set與數(shù)組、對(duì)象的對(duì)比

    ES6學(xué)習(xí)筆記之map、set與數(shù)組、對(duì)象的對(duì)比

    這篇文章主要給大家介紹了關(guān)于ES6學(xué)習(xí)筆記之map、set與數(shù)組、對(duì)象對(duì)比的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2018-03-03
  • URL的參數(shù)中有加號(hào)傳值變?yōu)榭崭竦膯栴}(URL特殊字符)

    URL的參數(shù)中有加號(hào)傳值變?yōu)榭崭竦膯栴}(URL特殊字符)

    今天在調(diào)試客戶端向服務(wù)器傳遞參數(shù)時(shí),參數(shù)中的“+”全部變成了空格,原因是URL中默認(rèn)的將“+”號(hào)轉(zhuǎn)義了,經(jīng)過以下步驟解決了,需要的朋友可以參考一下
    2016-11-11
  • JS面試題---關(guān)于算法臺(tái)階的問題

    JS面試題---關(guān)于算法臺(tái)階的問題

    下面小編就為大家?guī)硪黄狫S面試題---關(guān)于算法臺(tái)階的問題。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-07-07

最新評(píng)論

桂阳县| 承德市| 高州市| 溆浦县| 峨眉山市| 格尔木市| 临安市| 广昌县| 札达县| 扬中市| 溧水县| 确山县| 德化县| 清徐县| 礼泉县| 崇仁县| 武平县| 来安县| 宁南县| 阿鲁科尔沁旗| 新兴县| 通河县| 湖北省| 来安县| 邹城市| 闻喜县| 沭阳县| 攀枝花市| 会理县| 石楼县| 清远市| 苍梧县| 兴海县| 伽师县| 石阡县| 贞丰县| 乌苏市| 靖边县| 陵川县| 通化市| 开封市|