Mobile
模块===包

传统开发:整个网页我们写了一个js文件,所有的特效都写在里面了。
缺点:耦合度太高,代码关联性太强,不便于后期维护,会造成全局污染。

发生的请求次数过多,依赖模糊,难于维护。
以上都是传统的开发形式,都被抛弃了。
- 使用模块化开发
为什么使用模块化?
减少代码之间的关联度,部署方便,更好的分离 按需加载,避免命名冲突,容易维护。
- 什么是模块化?
Node自带的规范 commonjs规范
Commonjs是node的规范,运行在服务端,不是浏览器端,如果使用在浏览器端,需要使用对该文件进行打包编译(借鉴工具browserify,webpack,gulp等)
书写模块的时候,对外暴露接口 module.exports={} exports.xxx=
引入模块 require(路径)
Commonjs暴露的本质是一个叫exports的对象
Module.export={}和exports.xxx=
二者暴露的本质是一样的,都是暴露一个exports对象
Commonjs是node的规范,但他是同步加载的,同步加载在浏览器端是一个坑,只要一个环节卡住了,后面的就没法执行。所以不建议使用,如果非要使用就需要 编辑打包。
Web端
每个js都是一个模块,每个模块都必须有一个暴露接口,每个js文件有一个全局的方法叫require()用于引入模块。
模块
1.node自带的模块(包) path url fs
2.第三方模块 weui jquery axios zepto
Npm 全名 node packsge manager node包管理工具 增删查改
如果npm操作太慢
可以安装npm镜像
l -g cnpm --registry=https://registry.npm.taobao.org

下载
Npm install jquery
下载存放的位置
全局下载 在任何一个文件夹下都能使用这个包 全局安装目录
C:\Users\Administrator\AppData\Roaming\npm\node_modules
如何全局安装
Npm install -g jquery
局部安装
Npm install jquery
就会在当前目录下生成一个node_modules的文件夹里面
Npm install jquery --save
这个是下载运行环境(生产环境)的包 比如 jquery
Npm install jquery --save -dev
这个是下载开发环境所以来的包 比如npm browserify
二者区别
前者--save 是上线时会被压缩的包 后者--save-dev是上线时会被抛弃的包
指定版本下载
Npm install jquery@3.2.1 --save
删除
Npm uninstall jquery
查版本
Npm search jquery
更新
Npm updata jquery
3.自定义模块 我们写的
1).配置模块说明文件 npm init 就会生成一个package.json的文件
main:index.js 我们的主文件是index.js
Index.js是这个包的输出文件,即便删除了package.json只要不改变index.js的文件名就没事,一旦改了就报错。是因为包的输出文件默认是index.js
2).var obj=require("cui")
默认在node_modules文件夹下找这个包
在浏览器端,说require is not defined 说明浏览器不支持commonjs,需要借鉴打包工具
- browserify
Npm i browserify
- 编译打包
Node
Node是javascript的环境,在node里面可以运行js文件。指令 node 文件名
Mobile的更多相关文章
- UWP开发之Mvvmlight实践七:如何查找设备(Mobile模拟器、实体手机、PC)中应用的Log等文件
在开发中或者后期测试乃至最后交付使用的时候,如果应用出问题了我们一般的做法就是查看Log文件.上章也提到了查看Log文件,这章重点讲解下如何查看Log文件?如何找到我们需要的Packages安装包目录 ...
- ipad&mobile通用webapp框架前哨战
响应式设计的意义 随着移动设备的发展,移动设备以迅猛的势头分刮着PC的占有率,ipad或者android pad的市场占有率稳步提升,所以我们的程序需要在ipad上很好的运行,对于公司来说有以下负担: ...
- jQuery Mobile入门
转:http://www.cnblogs.com/linjiqin/archive/2011/07/17/2108896.html 简介:jQuery Mobile框架可以轻松的帮助我们实现非常好看的 ...
- 解决Jquery mobile点击较长文本body的时候Header和footer会渐入渐出的问题
在做一个Phonegap+Jqm工程的时候,出现了如题的问题,相信很多人都遇到过Jquerymobile点击body时候header和footer会闪烁的显示和隐藏问题,fixed却并不能真 ...
- jquery mobile 问问多多
jquery mobile 问题多多,兼容性太差.android4.1下完全崩溃.以后再也不用jquery mobile了
- front end about mobile web techs
WEB OF DEVICES http://www.w3.org/standards/webofdevices/ MOBILE WEB http://www.w3.org/standards/webd ...
- Mobile Web中URL设计问题
自己虽然也注册了CSDN账号,但是没有在上面发表过博客等内容.不过经常在Google里面搜索相关内容时,会显示csdn的结果.这也说明国内很多IT人员都会在CSDN发表博客,记录解决问题过程或者想法. ...
- jquery.mobile手机网页简要
先上最终效果: 最近做了一个用手机浏览器访问的web应用,采用较流行的HTML5,为了提高开发效率节省时间决定采用现有开源框架,免去了自己做设计与兼容性. 一些比较优秀的框架:10大优秀的移动Web应 ...
- jQuery Mobile案例,最近用Moon.Web和Moon.Orm做了一套系统
一.简介 先说说,我们的主题.jQuery Mobile,最近用Moon.Web和Moon.Orm做了一套系统 jQuery Mobile是jQuery 在手机上和平板设备上的版本.jQuery ...
- Mobile Safari调用本地App, 否则进入App Store下载
需求: 如何让用户通过手机浏览器(Mobile Safari),访问一个URL就能直接打开ios上的App应用,如果该应用没有安装,那么直接跳转到App Store的App下载页面. 准备工作 ios ...
随机推荐
- mysql的密码管理、mysql初始密码查找、密码修改、mysql登录
1.查询mysql的初始密码: 初始密码密码是随机产生的,每台机器产生的都不一样的 grep 'temporary password' /var/log/mysqld.log 或者 cat /var/ ...
- Python随笔day02
算术运算符 + - * ** / // % 比较运算符 > < == >= <= != Python中提供一种更加简单的比较方式. 当判断 ...
- 09.C语言:预处理(宏定义)、字节序、地址对齐
一.预处理 预处理 gcc -E Hello.c -o hello.i 编译 gcc -S hello.i -o hello.s 汇编 gcc -c hello.s -o hello.o 链接 gcc ...
- 3.6.5 空串与Null串
空串""是长度为0的字符串.可以调用以下代码检查一个字符串是否为空: String s = "greeting"; ...
- spring cloud feign 坑
feign是啥? 很多人可能对于feign 不是很熟悉,可以看一下其他网友的实例分享:spring cloud feign简介 如果觉得上面这个比较难的话,还有一个简单入门的:spring cplou ...
- Java高级应用之泛型与反射
/*************************************************************************************************** ...
- Java配置方式读取外部的资源配置文件
通过@PropertySource可以指定读取的配置文件,通过@Value注解获取值,具体用法: package cn.qlq; import org.springframework.context. ...
- CodeForces 370C
这道题其实是挺简单的.首先很容易发现最多人用的颜色的人数如果大于n/2,就肯定不能让全部人都成功戴上两只不同颜色的手套.反过来想,如果这个人数小于等于n/2又如何呢?的确,这就能让全部人都能戴上两只不 ...
- A - 不容易系列之(3)―― LELE的RPG难题 简单递推
人称“AC女之杀手”的超级偶像LELE最近忽然玩起了深沉,这可急坏了众多“Cole”(LELE的粉丝,即"可乐"),经过多方打探,某资深Cole终于知道了原因,原来,LELE最近研 ...
- centos 7: 迁移MySQL目录
Steps: 1. systemctl stop mariadb 2. mkdir data destination folder, ex: /home/mysql 3. cp -R /var/lib ...