美文网首页
自动化引入模块

自动化引入模块

作者: 一个健康马 | 来源:发表于2020-08-10 13:46 被阅读0次

在开发中大型项目时,会将一个大功能拆分成一个个小功能,除了能便于模块的复用,也让模块条理清晰,后期项目更好维护。
像 api 文件一般按功能划分模块,在组合时可以使用 require.context 一次引入文件夹所有的模块文件,而不需要逐个模块文件去引入。每当新增模块文件时,就只需要关注逻辑的编写和模块暴露,require.context 会帮助我们自动引入。
需要注意 require.context 并不是天生的,而是由 webpack 提供。在构建时,webpack 在代码中解析它。

let importAll = require.context('./modules', false, /\.js$/)

class Api extends Request{
    constructor(){
        super()
        //importAll.keys()为模块路径数组
        importAll.keys().map(path =>{
            //兼容处理:.default获取ES6规范暴露的内容; 后者获取commonJS规范暴露的内容
            let api = importAll(path).default || importAll(path)
            Object.keys(api).forEach(key => this[key] = api[key])
        })
    }
}

export default new Api()

require.context 参数:
文件夹路径
是否递归查找子文件夹下的模块
模块匹配规则,一般匹配文件后缀名
只要是需要批量引入的场景,都可以使用这种方法。包括一些公用的全局组件,只需往文件夹内新增组件即可使用,不需要再去注册。如果还没用上的小伙伴,一定要了解下,简单实用又能提高效率。

原文链接:https://mp.weixin.qq.com/s/McsEsb7rGVy6IOTfWM0gRg

相关文章

  • 自动化引入模块

    在开发中大型项目时,会将一个大功能拆分成一个个小功能,除了能便于模块的复用,也让模块条理清晰,后期项目更好维护。像...

  • gulp-concat js-压缩并合并

    引入 gulp 模块 引入 uglify 压缩 模块 引入 js 合并模块 压缩 并 合并 js文件

  • del 清理模块

    引入 path 路径模块 引入 del 清理模块 清理文件

  • 2.common.js规范

    1.引入模块 require("模块名") 一旦模块被引入,模块内的代码会被执行 2.暴露模块 js文件中引入另外...

  • require.context批量引进文件(个人笔记)

    本文参考: 自动化引入模块 在开发中大型项目时,会将一个大功能拆分成一个个小功能,除了能便于模块的复用,也让模块条...

  • golang基本用法速查

    Hello World! 引入模块 引入内置模块 引入第三方模块 规则: 默认从 GOPATH 下 src 目录开...

  • 模块引入

    模块引入是node一个重要的知识点导出方式:方式1: 方式二: 引入方式 这两种引入方式有什么区别呢?、 我们已知...

  • 2018-08-13

    模块和包的定义 import 和 from import包和模块的引入import引入一个模块import 模块名...

  • python操作MySQL步骤

    引入模块 在py文件中引入pymysql模块from pymysql import * Connection 对象...

  • 合并已有Android项目到Cordova项目

    基本流程 引入各Module:除主入口app模块外,其他模块通过Android Studio的引入功能引入。 修复...

网友评论

      本文标题:自动化引入模块

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