模块===包

  

  传统开发:整个网页我们写了一个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. 一步一步实现基于GPU的pathtracer(三):path tracing 简述

    全局光照这个名词在计算机图形学里已经不算一个新名词了,现在一提到拟真度,很多人基本上都会去想到全局光照,这个名词上世纪七八十年代就有了,好像是由一个叫Jim Kajiya的大神在他那篇已经被引用了不知 ...

  2. python3中post请求里带list报错

    这个post请求的数据太长,一般data=,json=就够了. 但是今天这个一直报错,用json吧,报缺少参数,用data吧,报多余[. 后来改成data=,并把数据中的[] 用引号括起来," ...

  3. list数组排序---stream

    import java.util.*;import java.util.stream.Collector;import java.util.stream.Collectors; public clas ...

  4. 【Codeforces 977F】Consecutive Subsequence

    [链接] 我是链接,点我呀:) [题意] 题意 [题解] 设f[i]表示i作为序列的最后一个数字,最长的连续序列的长度. 用f[i]和f[i-1]+1来转移即可 [代码] import java.io ...

  5. NYOJ 832 合并游戏

    合并游戏 时间限制:1000 ms  |  内存限制:65535 KB 难度:4   描述 大家都知道Yougth除了热爱编程之外,他还有一个爱好就是喜欢玩.某天在河边玩耍的时候,他发现了一种神奇的石 ...

  6. HDU 2242 连通分量缩点+树形dp

    题目大意是: 所有点在一个连通图上,希望去掉一条边得到两个连通图,且两个图上所有点的权值的差最小,如果没有割边,则输出impossible 这道题需要先利用tarjan算法将在同一连通分量中的点缩成一 ...

  7. poj 2114 树的分治 可作模板

    /* 啊啊啊啊啊啊啊本题证明一个问题,在实际应用中sort比qsort块 还有memset这类初始化能不加尽量别加,很浪费时间 原来的程序把qsort该成sort,去掉一个无用memset就a了时间不 ...

  8. 通过JQUERY获取SELECT OPTION中选中的值

    遇到一样学一样. 一个是取KEY,一个是取VALUE,一个是取所有文本. var dbuser_select = $("#dbuser_select option:selected" ...

  9. 上帝说:要约炮!于是有了XMPP

    一.导入XMPP框架 下载 XMPPFramework 框架 GitHub: XMPPFramework 导入依赖框架 CocoaLumberjack : 日志框架 CocoaAsyncSocket  ...

  10. Set database resumable

    You can use bellow command to make your session resumable. Which means that if your session hit spac ...