在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問(wèn)答/HTML/ vue 指令批量引入

vue 指令批量引入

components那樣,在項(xiàng)目目錄中創(chuàng)建一個(gè)directives的文件夾,存放指令文件;
一個(gè)指令為一個(gè)文件,在main.js文件引入可以實(shí)現(xiàn)全局引入;
雖然很多情況是按需引入,但是想知道如何批量全局引入?

回答
編輯回答
夢(mèng)囈

批量全局引入指令,可以通過(guò)forEach遍歷Vue.directive注冊(cè)

import * as directives from './directives'
// 注冊(cè)指令
Object.keys(directives).forEach(k => Vue.directive(k, directives[k]))

這篇文章可以幫助你了解全局指令封裝
https://segmentfault.com/a/11...

2018年9月1日 07:36
編輯回答
孤慣
import Vue from 'vue'

// https://webpack.js.org/guides/dependency-management/#require-context
const requireDirective = require.context(
  // 指令目錄
  './directives',
  // 不查找子目錄
  false,
  // js文件
  /.+\.js$/
)

// 對(duì)每個(gè)配匹的文件
requireDirective.keys().forEach(fileName => {
  // 請(qǐng)求指令模塊
  const directiveConfig = requireDirective(fileName)

  const directiveName = fileName
        // 移除開始的 './'
        .replace(/^\.\//, '')
        // 移除文件擴(kuò)展
        .replace(/\.\w+$/, '');
 
  // 注冊(cè)指令, 文件名作為指令名
  Vue.directive(directiveName, directiveConfig.default || directiveConfig)
})
2017年5月6日 17:16