当前位置: 首页 > 编程笔记 >

使用mini-define实现前端代码的模块化管理

端木淇
2023-03-14
本文向大家介绍使用mini-define实现前端代码的模块化管理,包括了使用mini-define实现前端代码的模块化管理的使用技巧和注意事项,需要的朋友参考一下

mini-define

依据require实现的简易的前端模块化框架。如果你不想花时间学习require.js,也不想翻看长篇的cmd/amd规范,那么这个mini-define就是你不错的选择。如果你之前用过sea.js或require.js那么mini-define更加高效,更加轻量,更加易用。项目地址:github

用法

首先定义模块

定义模块

一:定义模块用define函数

1.1 根据是否有依赖,有两种情况:

1.1.1:没有依赖的模块


        define('id',function(){

            // put your code here

        });

1.1.2:有依赖的模块


        define('id',['modeA','modeB'],function(A,B){

            // put your code here

        });

1.2 根据是否需要返回处理结果给外部使用,又可以分两种情况:

1.2.1有返回对象:


            define('id',function(){

                return {

                    // put your code here

                }

            });

1.2.2 没有返回对象


            define('id',function(){

                // put your code here

            });

二: 调用模块用require()函数

2.1 根据请求的模块数,可以有两情况:

    2.1.1.调用单个模块

        require('modeId')

    2.1.2.调用多个模块
            require(['modeA','modeB']);
2.2 根据是否有回调处理,又可以分为两种情况:

    2.2.1 有回调处理函数


            require('modeId',function(mode){

                //put your code here

            });

            require(['modeA','modeB'],function(A,B){                 //put your code here             });

    2.2.2 没有回调处理
            require('modeId');
然后在index.html页面依次引用所需模块


<!--核心模块-->

<script src="lib/core/require.js"></script>

<!--用于演示的模块-->

<script src="lib/main.js"></script>

<script src="lib/config.js"></script>

<script src="lib/init.js"></script>

最后就是用你喜欢的方式对lib目录进行合并压缩,生成一个min.js文件。 在发布应用的时候,相应的index.html也需要调整一下:


<script src="lib/min.js"></script>

优点:

相对于seajs.js或原版的require.js来说,加注释才一百来行的代码用轻量来形容都显胖,完全是骨感。
完全没有什么高深的内容,也没有复杂的技巧,几乎是零学习成本。

 类似资料:
  • 本文向大家介绍AngularJS 模块化详解及实例代码,包括了AngularJS 模块化详解及实例代码的使用技巧和注意事项,需要的朋友参考一下 AngularJS有几大特性,比如:   1 MVC   2 模块化   3 指令系统   4 双向数据绑定 那么本篇就来看看AngularJS的模块化。   首先先说一下为什么要实现模块化:   1 增加了模块的可重用性   2 通过定义模块,实现加载顺

  • 本文向大家介绍python使用OpenCV模块实现图像的融合示例代码,包括了python使用OpenCV模块实现图像的融合示例代码的使用技巧和注意事项,需要的朋友参考一下 可以通过OpenCV函数cv.add()或简单地通过numpy操作添加两个图像,res = img1 + img2.两个图像应该具有相同的深度和类型,或者第二个图像可以是标量值. 三种融合 注意融合时,一般来说两个图像的尺寸是一

  • 0.7 新版功能. Flask 用 蓝图(blueprints) 的概念来在一个应用中或跨应用制作应用组件和支 持通用的模式。蓝图很好地简化了大型应用工作的方式,并提供给 Flask 扩展在应用 上注册操作的核心方法。一个 Blueprint 对象与 Flask 应用对 象的工作方式很像,但它确实不是一个应用,而是一个描述如何构建或扩展应用的 蓝图 。 为什么使用蓝图? Flask 中的蓝图为这些

  • 本文向大家介绍如何理解前端模块化?相关面试题,主要包含被问及如何理解前端模块化?时的应答技巧和注意事项,需要的朋友参考一下 参考回答: 前端模块化就是复杂的文件编程一个一个独立的模块,比如js文件等等,分成独立的模块有利于重用(复用性)和维护(版本迭代),这样会引来模块之间相互依赖的问题,所以有了commonJS规范,AMD,CMD规范等等,以及用于js打包(编译等处理)的工具webpack

  • 本文向大家介绍Python csv模块使用方法代码实例,包括了Python csv模块使用方法代码实例的使用技巧和注意事项,需要的朋友参考一下 这篇文章主要介绍了Python csv模块使用方法代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。

  • 概述 毫末科技的前端代码自动化的技术栈为: 制作前端组件:imgcook 前端组件文档:storybook 前端组件仓库:bit(bit.dev) 前端组件快速引入项目:xmind2code(毫末自研) + ice 组件编写规范见: 毫末xmind2code封装uniapp组件规范 其他相关技术 开源xLayers  商业Supernova  教程 imgcook 请见官方文档