nodejs的第一天学习

一、 js的模块化
  什么是模块化:
    模块化的概念最早是后台,随着ajax技术的兴起,js在编程中所占的地位越来越高,同时js的文件也相应的越来越多。为了方便文件的管理和更新,提出了js文件的模块 化,将同一类型的功能组合在一起

二、 模块化的演变过程:
  1. 普通的方法的书写格式。
  问题:多个人开发可能会造成变量污染,为了解决这个问题引出2
  2. 使用对象的作用域来解决变量污染问题
  问题:如果在这个对象中有一些属性不希望被外界访问到,
  不能实现这个效果,为了解决这个问题,引出3
  3. 使用函数的方式来私有化变量
  问题:每次使用的时候都需要重新创建对象,为了解决这个问题引出了4
  4. 使用函数的自执行模式来代替 new 操作
  问题:没有问题,但是要考虑到扩展性,引出了5
  5.使用一个自执行函数在原来的对象上扩展方法
  注意点:将来自执行的时候要进行传参,这个参数需要做一个处理(window.calc || {})
  6如果将来要用到第三方模块,我们需要将模块名写在自执行函数的参数上。

三、 第三方模块化管理工具:
1. seajs:
  什么seajs:第三方模块化管理工具
  学习网址:seajs.org
  特点:
    1) seajs 遵循CMD 规范
    2) node.js一般书写模块化代码
    3) 依赖的自动加载、配置的简洁清晰
  作用步骤:
  1) 要定义一个单独的模块:
  关键字: define
  

define(function(require,exports,module){
     //定义的代码块
})    

  2) 要在模块中返回一些方法/属性/对象
  关键字:exports/module.exports

  3) 如果要引用一个第三方模块:
  关键字:require
  

var add = require(‘./add.js‘);

  注意点:将来通过require关键字引用了其它模块化以后,会返回引用模块化的一个对象:exports/module.exports
  4) 使用seajs 定义好的模块
  关键字:seajs
  

seajs.use(‘./calc/calc.js‘,function(obj){
    //注意:回调函数中的obj对象指向中是当前引用的模块calc.js模块中的exports/module.exports
      //使用加法
      console.log(obj.add.add(1,1));
     //使用减法
      console.log(obj.sub.sub(1,1));
})

  注意:回调函数中的参数就是当前引用模块的exports对象

2. seajs遵循的规范:CMD规范
CMD规范的作用:规范明确了模块的基本书写格式和基本交互规则
a.cmd规定在define中可以传入方法,对象,字符串
b.cmd规定require用于接收第三方包提供的接口
  require在使用的时候要注意以下几点:
    1.0拼写正确
    2.0不要修改
    3.0使用直接量
c.cmd规定exports用来向外提供模块接口
d.cmd规定module.exports用于向外提供模块的接口
  遵守CMD规范的模块都有一个特点:按需要加载特点(懒加载)
3.require 的使用
  简单使用:基本与seajs一样
  require 使用的AMD规范。
  CMD与AMD基本相同,最大区别是CMD是懒加载,AMD是预加载

补充:

(1)requirejs与seajs使用基本相同     有两点要注意:1)seajs使用模块时用方法Seajs.use,而requirejs直接用require关键字                2)seajs只使用一个模块时可以只传一入字符串,但是require必须是一个数组(2)懒加载与预加载

预加载模式:当第一次访问时将所有的文件加载出来
       优点:第一次访问完成以后,再次访问的速度会很快       缺点:第一次加载页面要等待很久

懒加载模式:使用的时候才会加载对应的文件       优点:第一次访问速度相对快点       缺点:再访问其它新的模块是速度会变慢
 
时间: 2024-10-13 21:11:00

nodejs的第一天学习的相关文章

20145216 史婧瑶《信息安全系统设计基础》第一周学习总结

20145216 <信息安全系统设计基础>第一周学习总结 教材学习内容总结 Linux基础 1.ls命令 ls或ls .显示是当前目录的内容,这里“.”就是参数,表示当前目录,是缺省的可以省略.我们可以用ls -a .显示当前目录中的所有内容,包括隐藏文件和目录.其中“-a” 就是选项,改变了显示的内容.如图所示: 2.man命令 man命令可以查看帮助文档,如 man man : 若在shell中输入 man+数字+命令/函数 即可以查到相关的命令和函数:若不加数字,那man命令默认从数字较

《嵌入式设计》第一周学习总结

<嵌入式设计>第一周学习总结 学习时遇到的主要问题 1.运行环境未及时安装 2.命令不熟练 3.上课状态不好 解决方法 1.及时安装环境并熟悉运行 2.参考Linux操作系统实用教程并百度一些问题的解决办法 3.及时调整自己状态 主要学习内容 Linux一些简单基本的操作, 用.c文件输出hello word 用vi test.c 创建.c文件 #include <stdio.h> int main(){ printf("hello word\n"); } 并用

20145311 《信息安全系统设计基础》第一周学习总结

20145311 <信息安全系统设计基础>第一周学习总结 教材学习内容总结 常用的部分命令 CTRL+SHIFT+T:新建标签页,编程时有重要应用: ALT+数字N:终端中切换到第N个标签页,编程时有重要应用: Tab:终端中命令补全,当输入某个命令的开头的一部分后,按下Tab键就可以得到提示或者帮助完成: CTRL+C:中断程序运行 Ctrl+D:键盘输入结束或退出终端 Ctrl+S: 暂定当前程序,暂停后按下任意键恢复运行 Ctrl+A: 将光标移至输入行头,相当于Home键 Ctrl+E

20145201 《Java程序设计》第一周学习总结

# 20145201 <Java程序设计>第一周学习总结 ## 教材学习内容总结 万事开头难,终于开始学习了Java.寒假的时候看到老师的要求确实有点慌,但是这周翻开书,从书本知识第一行学起,发现并不是自己想想中那么难,只要一步一个脚印,每周有自己的计划,并按照计划按部就班的完成,最后一定会拥有自己的小成果的. 1.1Java不只是语言 Java经过多年的版本更新后,最新的版本是Java SE8. 在java发展的过程中,它的应用领域越来越广,根据不同级别的应用开发区分了不同的应用版本,最终j

20145326蔡馨熠《Java程序设计》第一周学习总结

20145326蔡馨熠 <Java程序设计>第一周学习总结 教材学习内容总结 转眼间新的一学期终于开始了!为什么我这么期待呢?因为这学期可以上娄嘉鹏老师的java程序设计课,我不是什么电脑天才,之前c语言学得也不是特别好.可我就是对hdl和java特别感兴趣(之前在我的问卷调查报告里面提到过),并且寒假的时候在家里也预习了一部分java知识.第一周要求学习两个章节并作心得体会,虽然我早已看过前两章的知识,不过为了进一步巩固,我还是用了星期六一天的时间把第一章和第二章的知识从头到尾仔仔细细的看了

20145224-陈颢文 《Java程序设计》第一周学习总结

20145224 <Java程序设计>第一周学习总结 教材学习内容总结 通过第一周的学习让我对Java有了个初步的了解,知道了Java分为Java SE.Java EE.Java ME三大平台,其中Java SE是基础.Java的一大特点是它可以跨平台,而JVM对Java的跨平台提供了支持,它就类似于一个虚拟机,只要在当前平台安装了相应的JVM,Java程序就有了可以在此平台上运行的基础啦.JRE是Java的执行环境,在安装了JRE的计算机上就可以运行Java的程序了,当然光是可以跑代码对于程

第一周学习总结

马原第一章学习总结 重点一:哲学基本问题 1. 哲学基本问题的内容 思维和存在的关系问题 2. 唯心主义两大派别 主观唯心主义和客观唯心主义 3. 唯物主义三个发展阶段(每个阶段的特征,对“物质”的理解) 一. 朴素唯物主义   认为物质即物质形态 二. 形而上学唯物主义   认为物质即原子 三. 辩证唯物主义    认为物质是标志客观实在的哲学范畴 重点二:物质与意识 1.    物质的定义:物质是标志客观实在的哲学范畴,这种客观实在是人通过感觉感知的,它不依赖于我们的感觉而存在. 2.意识的

2014025689《嵌入式设计》第一周学习总结

<嵌入式设计>第一周学习总结 正式开始学习<嵌入式系统程序设计>,在课上老师指导我们复习了Linux操作系统的Shell命令.vim编辑器以及gcc编译相关方面的知识:在课下,通过查找资料和"实验楼"的练习. 一丶学习时遇到的问题 1.运行环境未及时安装,安装出现问题 2.预习不足,学习目标不明确 3.命令不熟练 二丶解决办法 1.及时安装环境并百度搜索问题: 在虚拟机安装64位操作系统必须满足以下三个条件:(1) 64位的CPU(2)安装的系统必须为64位(3

201521123100 《Java程序设计》 第一周学习总结

Java第一周学习总结 1.简单了解学习了Java及其开发环境,学习使用了Notepad++&eclipse开发软件的使用 2.熟练完成了使用Notepad++运行第一个Java程序"Hello World",并且学习了cmd的使用方法 3.简单的掌握了eclipse的使用方法,但仍不太熟练,会在下一周更加熟练使用eclipse 书面作业 1.为什么java程序可以跨平台运行?执行java程序的步骤是什么?(请用自己的语言书写) 因为Java是在虚拟机上编译运行的,不像c语言要