美文网首页
require自动化构建

require自动化构建

作者: RickSimpleBook | 来源:发表于2019-10-10 15:20 被阅读0次

当全局统一注册多个组件,你需要一次引入并注册。就像这样:

import bannerBox from '@/components/banner.vue'
import goodsOrder from '@/components/goods-order.vue'
import selectImg from '@/components/select-img.vue'
import navBar from '@/components/nav-bar.vue'

Vue.component('banner-box',bannerBox);
Vue.component('goods-order',goodsOrder);
Vue.component('select-img',selectImg);
Vue.component('nav-bar',navBar);

看上去是不是不舒服,而且现在还只是四个,如果10个呢,100个呢,每次写一个组件需要在这里加两行代码,难受。这时候就用到了自动化,几行代码全部解决,如下:

import Vue from 'vue'
const modulesContext = require.context('', false, /\.vue$/)
modulesContext.keys().forEach(module=>{
    const REG=/^\.\/(.*)\.vue/ig,
        MO = modulesContext(module);
    Vue.component(module.replace(REG,'$1'),MO.default||MO)
})

解释一下,使用require的方法context(),获取目录结构,其中传三个参数:1. 路径(我这里是是当前目录,所以传了空),2. 是否读取子目录,3. 正则(规定匹配什么样的文件。),modulesContext 上面有几个方法,具体可以读API、我这里用到了key(),这个方法会返回一个数组集,就是(路径+文件名)。如下:

./banner.vue
./goods-order.vue
./select-img.vue
./nav-bar.vue

而require.context('./index.js')可以直接返回文件的export。即modulesContext(module);
这里用正则过滤掉(./)和(.vue),作为组件名。
实现组件自动化注册。

——END——

相关文章

  • require自动化构建

    当全局统一注册多个组件,你需要一次引入并注册。就像这样: 看上去是不是不舒服,而且现在还只是四个,如果10个呢,1...

  • 从0构建自动化测试平台(五)兼容性测试实现

    往期文章 从0构建自动化测试平台(一)之技术选型 从0构建自动化测试平台(二)WEB服务器构建 从0构建自动化测试...

  • gulp

    1 gulp(自动化构建工具) 自动化构建 自动化构建:优化网站,提升网站性能,提高网站的代码,文件的优化处理 处...

  • 持续交付-发布可靠软件的系统方法阅读记录

    1、尽可能的自动化 自动化构建 自动化配置 自动化部署(热部署) 自动化测试 通过许多次的构建、配置、测试,从而对...

  • gulp

    叫做前端自动化构建工具,此类工具还有:grunt前端自动化构建工具 是什么?答: 自动化 less sass ...

  • Gradle自动化构建之自定义任务

    Gradle自动化构建之自定义任务 GitHub地址 Gradle自动化构建ProtocolBuffer 最近在看...

  • jenkins自动化构建配置

    背景 jenkins自动化构建gitlab项目 gradle或maven多模块项目在自动化构建时希望每个模块独立部...

  • 从零开始认识自动化构建

    我们日常开发自动化构建伴随着我们从开发到上线,那么自动化构建到底是个什么东西?自动化构建使开发者尽可能脱离运行环境...

  • Gradle完全解析

    导语: Gradle是一个基于groovy语言的自动化构建工具,提供了一个自动化构建任务的框架,具体构建过程支持自...

  • 前端内容的自动化构建

    前端内容的自动化构建 Gulp - 基于流的自动化构建工具 Browserify 官网 Github 一个管理前端...

网友评论

      本文标题:require自动化构建

      本文链接:https://www.haomeiwen.com/subject/hathyctx.html