模块===包

  

  传统开发:整个网页我们写了一个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. Luogu P3797 妖梦斩木棒

    解题思路 用线段树做这个就不用说了吧,但是要维护的东西确实很神奇.在每一个节点上都维护一个$lbkt$,表示这个区间上最靠左的右括号的位置:一个$rbkt$,表示这个区间上最靠右的左括号的位置.还有一 ...

  2. XML中的特殊(保留)字符数据

    XML中的特殊(保留)字符数据 制作人:全心全意 在XML文档中,有些字符会被XML解析器当作标记进行处理.如果希望把这些字符作为普通字符处理,就需要使用实体引用或CDATA段. 使用实体引用 为了避 ...

  3. buf.writeIntBE()函数详解

    buf.writeIntBE(value, offset, byteLength[, noAssert]) buf.writeIntLE(value, offset, byteLength[, noA ...

  4. php正则表达式匹配html标签

    用php正则表达式找出div标签,div允许多层嵌套,比如在以下文本中找出class为quizPutTag的div? <html> <head></head> &l ...

  5. reids桌面管理工具:RedisDesktopManager下载、使用

    概要:一款好用的Redis桌面管理工具,支持命令控制台操作,以及常用,查询key,rename,delete等操作. 下载软件,请点击下面链接,进入下载页,选择对应版本: https://redisd ...

  6. noip模拟赛 天天寄快递

    分析:并不是特别难的一道题,用到了贪心算法. 首先可以明确的一点是我们要尽量偷贡献最大的数据,要先满足每一个公司的贡献都大于等于K,以这个作为首要条件.那么我们可以先把每个快递公司的快递按照贡献从大到 ...

  7. cogs——1578. 次小生成树初级练习题

    1578. 次小生成树初级练习题 ☆   输入文件:mst2.in   输出文件:mst2.out   简单对比时间限制:1 s   内存限制:256 MB [题目描述] 求严格次小生成树 [输入格式 ...

  8. Ubuntu下的软件一般安装在哪个文件夹里

    一般安装在/usr下,里面很多文件夹,根据文件的类型,分门别类,不是一个软件一个文件夹.以前老版本的Linux习惯放在/usr/local目录下. 部分软件放在/opt下,则是一个软件统一在一个文件夹 ...

  9. SpringFox Swagger2注解基本用法

    一切参数说明,参考官方API文档:http://docs.swagger.io/swagger-core/current/apidocs/index.html?io/swagger/annotatio ...

  10. 在Electron中通过ffi模块实现JavaScript调用C++动态库

    目前在网上能搜到的JS调C++动态库的实现有两种,一种是通过开发Node.js addon模块的方式实现调用,这种对于我们已有的代码实现比较复杂,需要大量的开发,因此不适用:另一种是通过FFI模块,F ...