模块===包

  

  传统开发:整个网页我们写了一个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. mysql的密码管理、mysql初始密码查找、密码修改、mysql登录

    1.查询mysql的初始密码: 初始密码密码是随机产生的,每台机器产生的都不一样的 grep 'temporary password' /var/log/mysqld.log 或者 cat /var/ ...

  2. Python随笔day02

    算术运算符 +   -   *  **   /   //   % 比较运算符 >  <  ==   >=   <=   != Python中提供一种更加简单的比较方式. 当判断 ...

  3. 09.C语言:预处理(宏定义)、字节序、地址对齐

    一.预处理 预处理 gcc -E Hello.c -o hello.i 编译 gcc -S hello.i -o hello.s 汇编 gcc -c hello.s -o hello.o 链接 gcc ...

  4. 3.6.5 空串与Null串

        空串""是长度为0的字符串.可以调用以下代码检查一个字符串是否为空:                 String s = "greeting";    ...

  5. spring cloud feign 坑

    feign是啥? 很多人可能对于feign 不是很熟悉,可以看一下其他网友的实例分享:spring cloud feign简介 如果觉得上面这个比较难的话,还有一个简单入门的:spring cplou ...

  6. Java高级应用之泛型与反射

    /*************************************************************************************************** ...

  7. Java配置方式读取外部的资源配置文件

    通过@PropertySource可以指定读取的配置文件,通过@Value注解获取值,具体用法: package cn.qlq; import org.springframework.context. ...

  8. CodeForces 370C

    这道题其实是挺简单的.首先很容易发现最多人用的颜色的人数如果大于n/2,就肯定不能让全部人都成功戴上两只不同颜色的手套.反过来想,如果这个人数小于等于n/2又如何呢?的确,这就能让全部人都能戴上两只不 ...

  9. A - 不容易系列之(3)―― LELE的RPG难题 简单递推

    人称“AC女之杀手”的超级偶像LELE最近忽然玩起了深沉,这可急坏了众多“Cole”(LELE的粉丝,即"可乐"),经过多方打探,某资深Cole终于知道了原因,原来,LELE最近研 ...

  10. centos 7: 迁移MySQL目录

    Steps: 1. systemctl stop mariadb 2. mkdir data destination folder, ex: /home/mysql 3. cp -R /var/lib ...