模块===包

  

  传统开发:整个网页我们写了一个js文件,所有的特效都写在里面了。

缺点:耦合度太高,代码关联性太强,不便于后期维护,会造成全局污染。

  

发生的请求次数过多,依赖模糊,难于维护。

以上都是传统的开发形式,都被抛弃了。

  

  1. 使用模块化开发

为什么使用模块化?

      减少代码之间的关联度,部署方便,更好的分离 按需加载,避免命名冲突,容易维护。

  1. 什么是模块化?

      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包管理工具 增删查改

      https://www.npmjs.com/

      如果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,需要借鉴打包工具

    1. browserify

        Npm i browserify

    1. 编译打包

    Node

      Node是javascript的环境,在node里面可以运行js文件。指令  node 文件名

Mobile的更多相关文章

  1. UWP开发之Mvvmlight实践七:如何查找设备(Mobile模拟器、实体手机、PC)中应用的Log等文件

    在开发中或者后期测试乃至最后交付使用的时候,如果应用出问题了我们一般的做法就是查看Log文件.上章也提到了查看Log文件,这章重点讲解下如何查看Log文件?如何找到我们需要的Packages安装包目录 ...

  2. ipad&mobile通用webapp框架前哨战

    响应式设计的意义 随着移动设备的发展,移动设备以迅猛的势头分刮着PC的占有率,ipad或者android pad的市场占有率稳步提升,所以我们的程序需要在ipad上很好的运行,对于公司来说有以下负担: ...

  3. jQuery Mobile入门

    转:http://www.cnblogs.com/linjiqin/archive/2011/07/17/2108896.html 简介:jQuery Mobile框架可以轻松的帮助我们实现非常好看的 ...

  4. 解决Jquery mobile点击较长文本body的时候Header和footer会渐入渐出的问题

         在做一个Phonegap+Jqm工程的时候,出现了如题的问题,相信很多人都遇到过Jquerymobile点击body时候header和footer会闪烁的显示和隐藏问题,fixed却并不能真 ...

  5. jquery mobile 问问多多

    jquery mobile  问题多多,兼容性太差.android4.1下完全崩溃.以后再也不用jquery mobile了

  6. front end about mobile web techs

    WEB OF DEVICES http://www.w3.org/standards/webofdevices/ MOBILE WEB http://www.w3.org/standards/webd ...

  7. Mobile Web中URL设计问题

    自己虽然也注册了CSDN账号,但是没有在上面发表过博客等内容.不过经常在Google里面搜索相关内容时,会显示csdn的结果.这也说明国内很多IT人员都会在CSDN发表博客,记录解决问题过程或者想法. ...

  8. jquery.mobile手机网页简要

    先上最终效果: 最近做了一个用手机浏览器访问的web应用,采用较流行的HTML5,为了提高开发效率节省时间决定采用现有开源框架,免去了自己做设计与兼容性. 一些比较优秀的框架:10大优秀的移动Web应 ...

  9. jQuery Mobile案例,最近用Moon.Web和Moon.Orm做了一套系统

      一.简介 先说说,我们的主题.jQuery Mobile,最近用Moon.Web和Moon.Orm做了一套系统 jQuery Mobile是jQuery 在手机上和平板设备上的版本.jQuery ...

  10. Mobile Safari调用本地App, 否则进入App Store下载

    需求: 如何让用户通过手机浏览器(Mobile Safari),访问一个URL就能直接打开ios上的App应用,如果该应用没有安装,那么直接跳转到App Store的App下载页面. 准备工作 ios ...

随机推荐

  1. <MyBatis>入门四 传入的参数处理

    1.单个参数 传入单个参数时,mapper文件中 #{}里可以写任意值 /** * 传入单个参数 */ Employee getEmpById(Integer id); <!--单个参数 #{} ...

  2. Struts2学习笔记:DMI,多个配置文件,默认Action,后缀

    动态方法调用有三种方法: 1.同一Action多次映射,每个action标签的method对应要调用的方法. 当要调用的方法多了就会增加struts.xml文件的复杂性. 2.struts.Dynam ...

  3. A - Restaurant

    UVA 1468 Description   Mr. Kim is planning to open a new restaurant. His city is laid out as a grid ...

  4. Leetcode 68.文本左右对齐

    文本左右对齐 给定一个单词数组和一个长度 maxWidth,重新排版单词,使其成为每行恰好有 maxWidth 个字符,且左右两端对齐的文本. 你应该使用"贪心算法"来放置给定的单 ...

  5. 互斥的数(codevs 1553)

    题目描述 Description 有这样的一个集合,集合中的元素个数由给定的N决定,集合的元素为N个不同的正整数,一旦集合中的两个数x,y满足y = P*x,那么就认为x,y这两个数是互斥的,现在想知 ...

  6. 【BZOJ4398】福慧双修(二进制,最短路)

    题意: 此题中S=1 思路:Orz ManGod秒切此题 我觉得出入边权互换不太直观,就改了一下写法 第一次默认与1有关的第一条出边只出不入,第二次默认只入不出 ..]of longint; head ...

  7. codeforces gym 100357 H (DP 高精度)

    题目大意 有r*s张扑克牌,数字从1到 r,每种数字有s种颜色. 询问对于所有随机的d张牌,能选出c张组成顺子的概率和组成同花的概率. 解题分析 对于组成顺子的概率,令dp[i][j][k]表示一共选 ...

  8. HDU RSA 扩展欧几里得

    Problem Description RSA is one of the most powerful methods to encrypt data. The RSA algorithm is de ...

  9. HTTP自学心得

    HTTP是一个 客户端和 服务器端请求和应答的标准(TCP).HTTP是客户端浏览器或其他程序与 Web服务器之间的应用层通信协议. HTTP一般指超文本传输协议,它是互联网应用最广泛的协议,是用于从 ...

  10. [转] python 获取本机ip地址的两种实现方法

    #!/usr/bin/python import socket import fcntl import struct def get_ip_address(ifname): s = socket.so ...