模块化

前端模块化入门

允我心安 提交于 2019-11-30 06:27:47
1,了解到前端模块化:从《编写可维护的JavaScript-3》书籍中了解到模块化的概念和AMD模块的冻冻,但是不理解。 2,参考:https://blog.csdn.net/qq_35697034/article/details/78297756总算明白什么是ADM模块的概念: 一提到模块化,常说到CommonJS和AMD。这俩主要是个什么东西呢,记住是模块化的标准规范即可。而RequireJS就是AMD规范的最好实现。就像ECMAScript和JavaScript的关系是,前者是后者的规格,后者是前者的一种实现。我们只需要知道,实现CommonJS规范的API是同步加载模块的,而实现AMD规范的API是则是异步加载模块,异步加载即非阻塞加载,更加适合浏览器端。官方文档对RequireJS的描述: RequireJS 是一个JavaScript模块加载器。它非常适合在浏览器中使用,但它也可以用在其他脚本环境, 就像 Rhino and Node.使用RequireJS加载模块化脚本将提高代码的加载速度和质量。 3,做了个样例:参考:https://www.jb51.net/article/119496.htm,但是没有运行成功。 4,不打算进行模块化编程,因为还没有意识到使用的必要。先使用单全局变量的方式。 来源: https://www.cnblogs.com/lirenhe

前段模块化seajs(2)

人盡茶涼 提交于 2019-11-30 03:20:54
一、模块化配置信息 seajs config 用于配置seajs的一些选项参数,接受一个对象,该对象的属性值就是我们的配置项目 配置信息基本语法: 在seajs.use()上边: seajs.config({ alias:{}, paths:{} }) 1.alias定义模块别名 当我们在项目中引入一些基础类库,经常会涉及到类库的版本升级问题,才是每个模块都引入了类库,那么升级就需要修改每个模块中的名字,风险比较大, 如果使用alias定义这个模块(类库)、使用别名调用,更新只需要更新版本号,就可以做到全局更新 eg: jq:jquery-1,12.2.min.js 所有模块中都使用jq,如果我将这个版本改为jq:jquery-1.5.min.js 所有使用了jq的模块中的jquery都会变为1.5的版本 2.paths 路径配置 当模块目录比较深的时候,或者需要跨目录调用模块时,可以使用paths简化路径 也可以使用{}匹配语法调用变量(vars) eg: require('header/skin/top/top') ===> paths:{ h:'header/skin/top' } require('h/top'); 3.vars 声明变量 有些场景下,模块路径在运行时才能确定(动态处理),这是可以使用vars变量来配置 如果模块开发时路径比较复杂

纯原生组件化-模块化的探索

旧时模样 提交于 2019-11-29 17:42:59
纯原生的组件化、模块化的一次小小的尝试,用到了如下几个新特性: shadown-DOM 对 HTML 标签结构的一个封装,真正意义上的组件,能保证 shadow-DOM 中的 DOM 元素不会被外界影响,内部也不会影响到外部的行为,变成了一个独立的模块。 custom-elements 可以在浏览器中注册自定义的标签来使用,类似这样的效果 <my-tag></my-tag> ,标签内容基于两种形式:1. 普通子元素 2. shadow-DOM custom-events 使用各种自定义事件辅助完成组件之间的通讯 ES-module 为浏览器原生支持的模块化的一种方案,直接在浏览器里使用 import 和 export 这类语法,以 module 的方式来引入 js 文件。 几个算是比较新的事物,聚集在一起确实可以做点儿好玩的东西出来。 shadow-DOM 想象有这样的一个场景,类似资料卡的东东,需要在页面中展示头像和用户的名称。 头像在左,宽高 100px ,圆形; 姓名在右,字号 16px ,垂直居中。 这算是一段很简单的 CSS 了,实现起来大概是这样的: <style> .info { display: flex; } .info-avatar { width: 100px; height: 100px; border-radius: 50%; } .info-name {

nodejs模块化解析

好久不见. 提交于 2019-11-29 17:24:04
1.每一个js文件都是一个模块,需要暴露才能让其他js模块引入使用;因为每一个js文件都是一个闭包作用域,避免全局变量污染 2.练习:写函数求和,写函数求平均数 3.模块标识 内建模块(底层的c++),文件模块(自己写的),核心模块(node_modules目录下) 4.exports和require怎么来的? exports和require是函数,我们暴露出的模块,Node都会给我们封装成函数,并且传入了五个参数 我们的exports是函数的一个参数 5.exports,require,module,_filename,_dirname函数的作用 exports 用来将函数内部的局部变量和拒不函数暴露到外部; require 用来引入外部的模块 module 表示当前模块 _filename是本js文件的绝对路径 _dirname是本js文件的路径 来源: https://www.cnblogs.com/mlzdev/p/11524360.html

模块化

不羁的心 提交于 2019-11-29 05:59:30
1.1模块化概述 Java语言随着这些年的发展已经成为了一-i ]影响深远的编程语言,无数平台,系统都采用Java语言编写。但是 ,伴随着发展,Java也越来越庞大, 逐渐发展成为-门“臃肿” 的语言。而且,无论是运行一个大型的软件 系统,还是运行个小的程序,即使程序只需要使用Java的部分核心功能,JVM也要加载整个JRE环境。 为了给Java“瘦身”,让ava实现轻量化,Java 9正式的推出了模块化系统。Java被拆分为N多个模块,并允 许Java程序可以根据需要选择加载程序必须的Java模块,这样就可以让Javal以轻量化的方式来运行 其实,Java 7的时候已经提出了模块化的概念,但由于其过于复杂,Java7, Java 8都一直未能真正推出,直 到Java 9才真正成熟起来。对于Java语言来说, 模块化系统是一次真正的自我革新,这种革新使得“古老而庞 大”的Java语言重新焕发年轻的活力 package cn. itcast; import com. itheima_ 03 . MyService; import java. util . ServiceLoader; public class Test02 { public static void main(String[] args) { //加载服务 ServiceLoader<MyService>

蘑菇街面经

我怕爱的太早我们不能终老 提交于 2019-11-28 13:12:45
1 mate标签用来干什么?具体怎么写? 2 说一下http协议无状态相关? 3 强缓存和协商缓存?具体是哪个字段定义的? 4 http状态码 5 项目相关 6 边距重叠问题?怎么发生的?如何解决? 7 用过webpack吗,具体怎么配置? 8 说一下闭包?实际可以用在哪里?举个例子? 9 单例模式简单实现一下 10 前端主要有哪些安全问题 11 简单说一下promise原理 12 几个异步请求,用promise怎么并行实现 13 讲一下前端模块化 14 前端模块化规范知道哪些? 15 讲一下common.js和es6模块系统 16 讲一下盒模型 来源: https://www.cnblogs.com/GinaHan/p/11408548.html

浅谈CSS的模块化

烈酒焚心 提交于 2019-11-28 08:06:43
一、简介 Web前端模块化:HTML模块化、CSS模块化以及JS模块化三个部分; 二、CSS模块化背景 对于小型项目来说,css的量还不至于庞大,问题没有凸显,而如果要开发和持续维护一个较为大型的项目,那就需要对css进行管理和规范了,否则会发生不可挽回的后果(吓唬谁呢??)。 .dossierList-Head{ width: 94%; height: 8%; margin-left: 3%; margin-right: 3%; display: flex; justify-content: space-between; align-items: center } .dossierList-Head .head_left{ width: 100%; height: 100%; display: flex; align-items:center; } .dossierList-Head .head_left .logo{ width: 43px; height: 50px; padding-right: 5px; } .dossierList-Head .head_left h1{ font-weight: bold; font-stretch: normal; letter-spacing: 2px; background-image: linear-gradient(0deg,

JS模块化(了解)

南楼画角 提交于 2019-11-28 05:15:31
之前有的 命名空间,COMMONJS,AMD/CMD/UMD,ES6 module 1.什么是命名空间 库名.类别名.方法名 弊端:在命名空间重复生命,要记住完整的路径名(而且很长) var NameSpace = {} NameSpace.type = NameSpace.type || {} //已经定义了就是它自己,没有定义就赋值一个空对象给它,避免命名空间覆盖的问题 NameSpace.type.method = function () {} 2.什么COMMONJS   Modules/1.1.1   一个文件为一个模块   通过module.exports暴露模块接口   通过require引入模块   同步执行 3.AMD(Async Module Definition)----异步模块定义   使用define方法定义模块   使用require加载模块   RequireJS   依赖前置,提前执行 4.CMD(Common Module Definition)   一个文件一个模块   使用define来定义一个模块   使用require来加载一个模块   Sea JS   尽可能懒执行 5.UMD(Universal Module Definition)-----通用模块定义   通用解决方案   三个步骤     判断是否支持AMD    

node.js的模块化开发

余生颓废 提交于 2019-11-28 00:24:09
node.js的代码都是构建在模块化开发的基础之上,模块化开始也是node.js的核心之一。 传统非模块化开发的缺点:1.命名冲突 2.文件依赖 标准的模块化规范: 1。AMD -requirejs 2。CMD- seajs 模块化的规范定义的一些写代码的规则,只要遵循了同样的标准,基本上风格都是一致的 服务端的模块化规范: 1.Common.js -Node.js 模块化相关的规则: 1.一个js文件 都是一个独立的模块,模块内部的成员都是相互独立的 2.模块化的导入和导出 案例1(exports): 在01.js文件中 var sum=function(a,b){ sum = parseInt(a)+parseInt(b); } exports.sum=sum; 在02.js文件中 //用require 进入模块 var module =require(./01.js) //当前文件夹下的01.js文件 var ret =module.sum(12,13); console.log(ret); View Code 案例2(moudle) 在01.js文件中 var sum=function(a,b){ sum = parseInt(a)+parseInt(b); } module.exports=sum; 在02.js文件中 var module=require('./01

【Flask教程13】蓝图&单元测试

主宰稳场 提交于 2019-11-27 20:56:40
蓝图&单元测试 蓝图 单元测试 学习目标 能够使用代码实现蓝图对项目进行模块化 能够说出断言的作用 能够说出实现单元测试步骤 能够说出单元测试所执行方法的定义规则 Blueprint 模块化 随着flask程序越来越复杂,我们需要对程序进行模块化的处理,之前学习过python的模块化管理,于是针对一个简单的flask程序进行模块化处理 举例来说: 我们有一个博客程序,前台界面需要的路由为:首页,列表,详情等页面 源程序app.py文件: from flask import Flask app=Flask(__name__) @app.route('/') def index(): return 'index' @app.route('/list') def list(): return 'list' @app.route('/detail') def detail(): return 'detail' if __name__=='__main__': app.run() 如果博主需要编辑博客,要进入后台进行处理:后台主页,编辑,创建,发布博客 改进后程序: from flask import Flask app=Flask(__name__) @app.route('/') def index(): return 'index' @app.route('/list') def