mobile模块化js⽂件node
1.为甚么要⽤模块(包)
  1.1</script src="js/xxx.js"></script>
  整个页⾯只写⼀个js⽂件,所有特效都写在⾥⾯了
  缺点:耦合度太⾼,代码关联性太强,不利于后期维护,造成全局污染
  <script src="js/xxx1.js"></script>
  <script src="js/xxx2.js"></script>
  <script src="js/xxx3.js"></script>
  页⾯链多个js⽂件,特效都在⾥⾯
  缺点:发⽣请求过多,依赖模糊,难于维护
  以上传统开发形式都被抛弃了
2.模块化开发
  2.1 概念:node⾃带的规范commoujs规范
gold open access是什么意思
  2.2 规范:运⾏在服务端,不是浏览器端,如果使⽤在浏览器端,需要使⽤该⽂件进⾏打包预编译
  (借鉴⼯具browserify,webpack,gulp等)
  2.3 优点:减少代码之间关联度部署⽅便,更好的分离按需加载避免命名冲突容易维护
书写模块的时候,对外暴露接⼝ ports={}  =
  2.4 引⼊模块⽅法
  require(我是主⽂件路径)
  2.5 CommonJS
    CommonJS暴露的是⼀个名字叫exports的对象
    Commonjs是node的规范,但他是同步加载的,同步加载在浏览器端是⼀个坑,只要⼀个环节卡住了,后⾯的就没法执⾏。所以不建议使⽤,如果⾮要使⽤就需要编辑打包。
  2.6 Web端
  每个js都是⼀个模块,每个模块都必须有⼀个暴露接⼝,每个js⽂件有⼀个全局的⽅法叫require()⽤于引⼊模块。
  2.7 exports和ports概念以及区别:
,   module是⼀个变量,指向⼀块内存,exports是module中的⼀个属性,存储在内存中,然后exports属性指向{}模块
    exports:⾸先对于本⾝来讲是⼀个变量(对象),它不是module的引⽤,它是{}的引⽤,它指向ports的{}模块
    exports只能使⽤.语法向外暴露内部变量例  =xxx;
    ports既可以通过点语法,也可以直接赋值⼀个对象例  =xxx;    ports=xxx;
    ⼆者本质⼀样,都是暴露⼀个exports对象
  2.8 模块
2.第三⽅模块  weui jquery axios zepto
Npm 全名 node packsge manager  node包管理⼯具增删查改
如果npm操作太慢
可以安装npm镜像 :  npm install -g cnpm --registry=registry.
2.9下载安装
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是上线时会被抛弃的包
        dependencies---- ⽣产环境下的包(模块)
        devDependencies------开发环境下的包的说明
        3.0增删查改
        增--指定版本下载  npm install  jquery@3.2.2 --- save
        删--npm uninstaall jquery
        查--npm seacrch jquery
        改(更新)--npm updata jquery
  3⾃定义模块化(我们写的)
      配置模块说明⽂件  npm init 就会⽣成⼀个名为package.json的⽂件
    {
    " name":"xxxx",
    "version":""1.0.0",
    "description":"study",
    "main":index.js",
    "script:":{
    "test":"echo\"Error:no test specified\" && exit 1 "python typedef用法
        },
    "author":"",
    "license":"ISC"
    }
    main:index  ----- 我们的主⽂件是index.js
    index.js 是这个包的输出⽂件,即便删除了package.json 只要不改变index的js的⽂件名就没事
    ,⼀旦改了就报错.是因为包的输出⽂件默认是index.js
    var  obj = require("默认在node_modules下这个包");
    在浏览器端,说require is not defined 说明浏览器不⽀持commoujs,需要借鉴打包⼯具(browserify)
  4.Node
  Node是javascript的环境,在node⾥⾯可以运⾏js⽂件。指令  node ⽂件名
Mobile
1,模块===包
传统开发:整个⽹页我们写了⼀个js⽂件,所有的特效都写在⾥⾯了。
缺点:耦合度太⾼,代码关联性太强,不便于后期维护,会造成全局污染。
发⽣的请求次数过多,依赖模糊,难于维护。
以上都是传统的开发形式,都被抛弃了。
2.  使⽤模块化开发
为什么使⽤模块化?
减少代码之间的关联度,部署⽅便,更好的分离按需加载,避免命名冲突,容易维护。
3.  什么是模块化?
Node⾃带的规范 commonjs规范
Commonjs是node的规范,运⾏在服务端,不是浏览器端,如果使⽤在浏览器端,需要使⽤对该⽂件进⾏打包编译(借鉴⼯具browserify,webpack,gulp等)
书写模块的时候,对外暴露接⼝ ports={}  =
jquery下载文件请求引⼊模块 require(路径)
Commonjs暴露的本质是⼀个叫exports的对象
⼆者暴露的本质是⼀样的,都是暴露⼀个exports对象
Commonjs是node的规范,但他是同步加载的,同步加载在浏览器端是⼀个坑,只要⼀个环节卡住了,后⾯的就没法执⾏。所以不建议使⽤,如果⾮要使⽤就需要编辑打包。Web端
每个js都是⼀个模块,每个模块都必须有⼀个暴露接⼝,每个js⽂件有⼀个全局的⽅法叫require()⽤于引⼊模块。
模块
2.第三⽅模块  weui jquery axios zepto
Npm 全名 node packsge manager  node包管理⼯具增删查改
www.npmjs/
如果npm操作太慢
可以安装npm镜像
npm install -g cnpm --registry=registry.
下载
Npm install jquery
下载存放的位置
全局下载在任何⼀个⽂件夹下都能使⽤这个包全局安装⽬录
C:\Users\Administrator\AppData\Roaming\npm\node_modules
如何全局安装
Npm install -g jquery
局部安装
Npm install jquery
就会在当前⽬录下⽣成⼀个node_modules的⽂件夹⾥⾯
Npm install jquery --save
autowired
这个是下载运⾏环境(⽣产环境)的包⽐如 jquery
Npm install jquery --save -dev
这个是下载开发环境所以来的包⽐如npm browserify
⼆者区别
前者--save 是上线时会被压缩的包后者--save-dev是上线时会被抛弃的包
指定版本下载
Npm install jquery@3.2.1 --save
删除
Npm uninstall jquery
查版本
Npm search jquery
html语言有哪些特点
更新
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 install -g browserify
2.
Node
Node是javascript的环境,在node⾥⾯可以运⾏js⽂件。指令  node ⽂件名

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。