首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏Golang开发

    iOS模块化(2)——CocoaPods的运用

    不太想蹭组件化的热度,暂且不要关心这些字眼的意义,实际上不管是组件化还是模块化我们所要解决的问题是一致的:效率。就跟现今社会一样从农业 —工业—信息实际上就是社会生产效率的提高。 组件化/模块化实际上在计算机领域一直在使用,包括我们使用的电脑就是按照CPU、内存、显存、硬盘等等各种模块组织到一起。iOS开发中也是按照MVC,MVVM等等各种各样的把代码分拆组合。 模块化我们首要做的就是代码的结构的组织调整,关于如何组织代码结构目前流行的就是按照功能和内容。 image.png 通过2份不同的配置文件我们编译出来的就是截然不同的2个framework 文件。 github.com/CocoaPods/Specs.git' 目前我们在私有仓库这块运用的较多: (1)把第三方的稳定不需要改动代码编译成静态库形式,做成私有cocospod加速工程的编译速度 (2

    1.6K20发布于 2019-05-29
  • 来自专栏裸机思维

    真刀真枪模块化2)——图解Service模型

    在前面一篇文章《真刀真枪模块化(1)——一本糊涂账》中,我们讨论了: 在工程开发中进行模块化的本来目的——为了复用已有的代码,节省当前项目的开发时间; 实际操作过程中遇到的尴尬问题——模块的具体实现原本应该被视作黑盒子 ——难道模块化本身错了么? 在模块化的过程中,要想发挥模块化“复用已有代码”、“降低开发时间”的作用,就必须将模块视作黑盒子;一旦模块被视作黑盒子,实现的质量和后续的可靠维护就成为当前模块是否可用的基石——进一步来说,不靠谱的代码实现和差强人意的接口设计与封装是导致模块化失败的根本原因 本文将为您介绍一种模块化封装的简单操作方式——由傻孩子根据十多年工程实践经验总结、历经无数商业项目的千锤百炼。 以上就是使用Service模型进行模块化的基本规则。是不是很简单? 【后记】 Service模型本身是完全本着简化用户操作的宗旨,以实用性为重中之重,同时也避免一切“反直觉”的设定。

    54620发布于 2020-11-09
  • 来自专栏前端小菜鸡yym

    模块化-模块化规范

    为什么有模块化规范 上一篇文章,实现了模块化。但是最后还是存在如下的缺点 请求过多 依赖模糊 难以维护 因此就需要模块化规范。 模块化规范分类 CommonJs AMD CMD: 阿里开发的,只需要了解。 ES6 CommonJS规范 说明 每个文件都被当做一个模块 在服务器端:模块的加载是同步的。 /modules/module1') let module2 = require('./modules/module2') let module3 = require('. /modules/module1') let module2 = require('./modules/module2') let module3 = require('. /modules/module3') let uniq = require('uniq') // 现在module1是一个对象 module1.foo() // module2等价于函数 module2

    87730编辑于 2023-01-12
  • 来自专栏vue学习

    2、webpack从0到1-模块化规范

    git仓库:webpack-demo 1、模块化规范 上章我们知道webpack是一个模块打包工具,何为模块? 这时候就需要有一套标准来定义该怎么引用啊,它们之间是个啥依赖关系啊之类的,那么大概就有这么几种模块化规范: ES6Module--就是import、export这类的,我们对这个应该很熟。 2、新建模块 新建几个模块其实就是新建几个js文件,我们复制一份上节chapter1的内容,改名为chapter2。 我们在src目录下新建几个js文件,并在其中用es6的语法写一些内容并导出。 webpack-demo/chapter2 |- package.json |- index.html |- /src |- index.js + |- header.js +

    54230发布于 2020-03-20
  • 来自专栏WebJ2EE

    模块化】:ES6 模块化

    Imported Variables Are Read-only 2. classic scripts 和 modules 的差别 3. 新提案:import-maps 2.1. /module; table.foo = 'Bar'; // OK count++; // read-only error 2. classic scripts 和 modules 的差别 除了上面这些差异 问题就是 原生开发时(不依赖打包工具)你会遇到很多麻烦 1. npm 上多数都是 CJS 的包,需要单独找 ES6 版的包 2. 路径问题太复杂,需要根据运行环境写不同的代码 3.2.

    85510编辑于 2022-03-30
  • 来自专栏Vue2

    vue2知识点:模块化+名命空间

    @toc概述:这一块是在学习完vuex知识点及4种map方法之后,进行汇总的【模块化+名命空间】,如果前面没学完,看着快会不知所以然。 8.5模块化+名命空间注意点1:问题:模块化指的是啥? 注意点2问题:名命空间体现在哪里? 《进阶篇第8章:vuex》包括理解vuex、安装vuex、搭建vuex环境、四个map方法的使用、模块化+名命空间2.vue2知识点:理解vuex、安装vuex、搭建vuex环境3.vue2知识点:vuex 中四个map方法的使用4.vue2知识点:模块化+名命空间

    19810编辑于 2024-10-14
  • 来自专栏河湾欢儿的专栏

    模块化

    在nodejs中,可以通过exports或module.exports 和 require 实现模块化 exports 和 module.exports的区别? 创建package.json文件 Npm init --yes 2. 使用npm install express –save 安装express 3. listen()监听端口号 2. 要把.html改成.ejs 2. 加上请求路径就是路由 App.get(“/”,function(){}) app.post(“/a”,function(){}) 他们就是路由 在express中有一个Router的方法可以实现路由的模块化

    2.4K20发布于 2018-09-06
  • 来自专栏WebJ2EE

    模块化】:JS 模块化极简史

    什么是模块化2. 无模块化时代 3. 传统模块化阶段 3.1. “对象”型模块 3.2. “仿Java类”型模块 3.3. “立即执行函数(IIFE)”型模块 3.4. 利于代码复用; 2. 污染全局作用域:虽然我们通过各种手段尽力避免,但实际未从根本上解决; 2. 依赖关系不明显:对于大型项目,模块数量巨大,开发人员必须手动解决模块间依赖,这在复杂项目中极易出错且维护成本高 4. CommonJS是针对服务器端(非浏览器环境)的JavaScript开发,是Node.js的默认模块化规范; (2). ; 实现按需加载的dynamic import语法提案现处于stage3阶段; 完全可替代CommonJS、AMD、CMD; 示例1(static import): 示例2(dynamic import

    2.4K10编辑于 2022-03-30
  • 来自专栏全栈程序员必看

    前端模块化-总结_前端模块化规范

    先说说什么是模块化,就是将独立的功能代码封装成一个独立的文件,其他模块需要使用,在进行引用。 模块化有利于代码的拆分和架构上的解耦,模块化在服务端领域已经早已成熟,nodejs 也已经支持模块化。 因此前端早早就有了模块化技术,可每天醒来前端就多一个名词多一个框架的,发展实在迅猛,就前端模块化这些年的积累就有好几种,我们依次来看看。 require, module, exports) { "use strict" },{"babel-runtime/helpers/classCallCheck": 2} ,[3,4]}, 2: [function(require, module, exports) { "use strict"; exports. window.appJsBridge = appJsBridge;} 参考链接 http://javascript.ruanyifeng.com/nodejs/module.html#toc2 http

    96020编辑于 2022-11-17
  • 来自专栏花落的技术专栏

    flutter 模块化

    为什么要模块化来搭建项目? 模块化是将项目拆分成多个业务模块, 就好似一辆车,它有轮子,车架子, 发动机等. 如果传统写法来写,车辆的轮子发动机的耦合就特别深, 如果想把发动机换到别的车就特别麻烦. 所以模块化可以提高代码复用性。 提高项目运行速度, 可以针对单个模块进行打包运行调试 模块化时需要注意什么? 对于每个模块都需要用的业务点可以放在BaseModule中,不能轻易改动BaseModule。

    74900发布于 2021-11-21
  • 来自专栏进击的君君的前端之路

    前端模块化

    1、为什么需要模块化 在JavaScript发展初期就是为了实现简单的页面交互逻辑,网页结构并不复杂,早期简单的网页结构是类似这样的: <! 2、模块 既然JavaScript不能handle如此大规模的代码,我们可以借鉴一下其它语言是怎么处理大规模程序设计的,在Java中有一个重要带概念——package,逻辑上相关的代码组织到同一个包内, 3、JavaScript模块化规范 通行的JavaScript模块规范主要有两种:CommonJS和AMD。 ,第一个流行的模块化规范却由服务器端的JavaScript应用带来,CommonJS规范是由NodeJS发扬光大,这标志着JavaScript模块化编程正式登上舞台。 它是一个在浏览器端模块化开发的规范。

    68220发布于 2018-06-28
  • 来自专栏grain先森

    JavaScript 模块化

    随着前端js代码复杂度的提高,JavaScript模块化这个概念便被提出来,前端社区也不断地实现前端模块化,直到es6对其进行了规范,下面就介绍JavaScript模块化。 JavaScript模块化是如何一步一步地发展起来的,并且也会主要对这些模块化方式做一个简单的比较。 jquery_scroller.js"></script> <script src="main.js"></script> <script src="other1.js"></script> <script src="other<em>2</em>. /b'); // 依赖可以就近书写 b.doSomething(); // ... }); 第五阶段: ES6<em>模块化</em> 之前的几种<em>模块化</em>方案都是前端社区自己实现的,只是得到了大家的认可和广泛使用 ,而ES6的<em>模块化</em>方案是真正的规范。

    73050发布于 2019-03-28
  • 来自专栏前端小菜鸡yym

    what is 模块化?

    理解 我们先来了解一下,什么是模块化,以及模块化的进化史。 什么是模块/模块化 将一个复杂的程序按照一定的规范,封装成几个块(文件),并进行组合在一起。 模块化的进化史 最早 最早,我们的js是写到一个文件中,想怎么写怎么写。这种情况,也就是我们最原始的html的方式。会造成变量的全局污染。 ){ console.log(_$body) } return { foo:foo } })(jQuery) Moudle.foo() 为什么要模块化 比如不需要轮播图的模块,我们不需要引入 模块化的好处 避免命名冲突(减少命名空间污染) 更好的分离,按需加载 更高复用性 高可维护性 页面引入script带来的问题 当我们需要引入多个js文件。 (m1,m2){ 使用 m1 / m2 }) AMD规范的应用 NoAMD 我们先看一下,不遵循模块化规范,也就是不使用Require.js依赖的方式。

    1.5K30编辑于 2023-01-12
  • 来自专栏前端小菜鸡yym

    js模块化

    ---- 「这是我参与2022首次更文挑战的第27天,活动详情查看:2022首次更文挑战」 理解 什么是模块/模块化 将一个复杂的程序按照一定的规范,封装成几个块(文件),并进行组合在一起。 模块化的进化史 最早 最早,我们的js是写到一个文件中,想怎么写怎么写。 ){ console.log(_$body) } return { foo:foo } })(jQuery) Moudle.foo() 为什么要模块化 比如不需要轮播图的模块,我们不需要引入 模块化的好处 避免命名冲突(减少命名空间污染) 更好的分离,按需加载 更高复用性 高可维护性 页面引入script 当我们需要引入多个js script>标签,我们就需要发送多少次请求 <script src='jquery.js'></script> <script src='1.js'></script> <script src='<em>2</em>.

    2.7K20编辑于 2023-01-12
  • 来自专栏java小白

    模块化程序

    一、概述 子程序从FORM语句开始执行直到遇END FORM结束,使用子程序的主要目的在于代码模块化、结构化及重复利用。 二、子程序定义 PERFORM FORM. ~~~~ ENDFORM. 下列语句给出了子程序中可以使用的多种选项 FORM subr USING p1 TYPE type VALUE(p2) TYPE type ... 四、TABLE语句 TYPES:BEGIN OF t_str, col1 type c, col2 type i , END OF t-str.

    76430发布于 2021-11-09
  • 来自专栏前端之旅

    前端模块化

    为什么需要模块化? 早期的开发没有模块化,会有两个灾难性的问题:即 全局污染 以及 依赖管理混乱。 1. 2. 依赖管理混乱: js 文件之间存在依赖关系,那么被依赖项必须出现在前面,也就是说要遵守一定的顺序。要是有几十个文件,那么就得先确定好互相之间的依赖关系,然后手动排序,累觉不爱。 这之后提出了模块化的概念。 模块化解决方案: 那么,模块化到底需要解决什么问题呢? 2.AMD CommonJS 是针对服务端的模块化解决方案,为何它不能用于前端呢? /module.js'; console.log(num); // 1 add(); console.log(num); // 2 注意这个引用是动态变化的。

    95320发布于 2019-11-07
  • 来自专栏前端文章小tips

    前端模块化

    js本身的问题: 不具有模块化的语法规则,在语言层面没有命名空间。 function m1(){     //...   }   function m2(){     //...   } 通用模块将所有函数方法暴露给全局作用域,造成命名冲突。 模块化的作用: 避免命名冲突 依赖管理 提供可维护和可复用的代码 对象写法:函数m1()和m2(),都封装在module1对象里。使用的时候,就是调用这个对象的属性。 = function(){       //...     };     return {       m1 : m1,       m2 : m2     };   })(); 继承模块:   var return mod;   })(window.module1 || {}); 解决方案 : 模块化 CJS、AMD、CMD、UMD、ESM 统一模块规范 commonjs: var MySalute

    73520编辑于 2021-12-10
  • 前端模块化

    模块化的理解 1、什么是模块化 将一个复杂的程序,依据一定的规则(规范)封装成一个或多个块(文件), 并进行组合在一起。 2模块化的进化过程 无模块时代 在ajax还未提出之前,js还只是用来在网页上进行表单校验、提交,对DOM渲染操作。 var str,num; //...... (module2. /b') // 依赖可以就近书写 b.doSomething() ... } 4、ES6 2015年,ES6规范中,终于将模块化纳入JavaScript标准,从此js模块化被ECMA ES6中的模块化在CommonJS的基础上有所不同,关键字有import,export,default,as,from。

    41720编辑于 2024-12-03
  • 来自专栏Web 技术

    再谈模块化

    当我们要开发模块化技术时,请牢记模块化系统至少具备下列2点功能: 定义模块接口:供外部代码调用该模块 隐藏模块的内部实现细节:模块的调用者/使用者无需关心模块内部的实现细节。 了解了模块,下面我们就来谈谈几种模块化方案。 ES6之前的模块化方案 (1)对象+闭包+立即执行函数方案 基于模块化2个特点,在该方案中: 立即执行函数:隐藏内部实现细节 对象+闭包:形成接口,对外暴露模块功能,同时保持闭包活跃。 (2)AMD与CMD 开发者为了解决前面提到的问题,AMD和CMD出现了。 AMD AMD源于Dojo toolkit,可以很容易指定模块及依赖关系。目前流行的实现有RequireJS。 那么ES6模块化方案出现了!

    70420编辑于 2022-07-29
  • 来自专栏前端卡卡西

    前端模块化

    tom console.log(sex) //boy console.log(sayhello) //ƒ sayhello() {console.log('我会sayhello');} 写法2 /mode/myReact.js'; import * as react2 from '. /mode/myReact.js'; console.log(react1); //{name: "hss-react", Component: ƒ} console.log(react2); //{Component: ƒ (),default: Object,hello: "hello world"} console.log(react1 === react2); //false console.log (react2.default === react1); //true // es6模块化 app.js import react1, * as all from '.

    62510编辑于 2022-02-25
领券