前端随心记---------nodejs基础学习

Nodejs 简介

  1. Nodejs 是什么?    what
  2. Nodejs 能做什么?what
  3. 为什么要使用 Nodejs 呢?why
  4. 为什么要学习Nodejs呢?why
  5. 在哪里使用 Nodejs 呢?where
  6. 如何使用 Nodejs 呢?how

Nodejs 是什么?

   Node.js是一个基于Chrome V8 引擎的  Javascript  运行环境。

   Node.js使用了一个事件驱动,非阻塞式  I/O(输入/输出) 的模型。

   Node.js让  Javascript 成为与 PHP ,Python,Perl ,Ruby 等服务端语言平起平坐的脚本语言。

   发布于2009年5月 ,由 Ryan Dahi 开发,实质是对Chrome V8引擎进行了封装。

    注意: Node.js不是一种独立的语言。

Nodejs 能做什么?

   Nodejs采取了一个称为  “事件循环” 的架构,使得编写可扩展性高的服务器变得既容易又安全。

   V8引擎本身使用了一些最新的编译技术。这使得Javascript 这类脚本语言编写出来的代码运行速度获得了极大提升,又节省了开发成本。

   Node采用了一系列 “  非阻塞  ”  库来支持事件循环的方式,本质上就是为文件系统,数据库之类的资源提供了接口。

   Node让 Javascript 运行于服务器,解决了游览器限制我们选择编程语言的自由问题。

 

    

      -服务器端开发
     - 接口服务器
     - 实时通信系统
     - 桌面应用程序(借助 node-webkit,electron等框架实现)

为什么要使用 Nodejs 呢?

   Node作为一个新兴的前段框架,后台语言,有很多吸引人的地方。

   Node第一次把Javascript 带入到后端服务器开发。

   编写可扩展性高的服务器变得既容易又安全,等

为什么要学习Node.js?

    - 服务器端开发
    - 大前端必备技能
    - 企业需求

在哪里使用 Nodejs 呢

   后端的开发 

如何使用 Nodejs 呢?

   由于Nodejs平台是在后端运行Javascript 代码,所以,必须首先在本机安装Node 环境。

   可以进入官网下载     (注意选择本机操作系统,进行安装)

   步骤如下:

    1.安装完成后,在Windows环境下,运行 “”cmd“”  打开命令符。输入node -v, 如果安装成功,会输出当前Node版本号。

    2.继续在命令行输入node ,进入Node.js的交互环境。可以输入任意Javascript 语句 ,回车将得到结果。

    3.要退出Node.js环境,连续两次Ctrl + C 。

         4.在使用Node.js之前 ,我们应该先认识npm。(下文)

 

 

 Nodejs 之模块化

  1. 什么是模块化?
  2. 为什么要使用模块化呢?
  3. 常见的模块化规范有哪些呢?
  4. 如何使用 Nodejs 里面的模块化规范呢

 

什么是模块化?

          nodejs一个重要的特性就是模块化,模块就是node.js对常用功能进行分组的方式。

 为什么要使用模块化呢?

          nodejs使用的commonjs 规范里面定义: 一个js文件就是一个模块,每个模块之间各自的独立。

常见的模块化规范有哪些呢?

   那时候前端的开发人员发现后端的 commonjs 规范非常的好。可以尝试把后端的 commonjs 拿到前端使用。但是不能完全的照搬 commonjs规范(同步加载)。前端对 commonjs 进行重新的解读,形成属于前端的规范 AMD(异步加载规范: 老外),实现该规范的库是 require.js(官网): 有了 requirejs 可以解决前端的 变量的冲突文件、文件的依赖问题。

          在这之后,很长的一段时间里面都是使用的这种规范解决前端的 变量冲突问题。但是这个时候国内的一个大牛 玉伯(花名:射雕) 淘宝的大牛 觉得 AMD规范不是很好。 针对AMD遇到的一些问题。自己研究 AMD规范 + commonjs规范,形成了一个新的规范: CMD规范。 实现这个CMD规范的库叫做 seajs(已死)。

  规范发展流程

   1. serverjs(无需) --> 2. commonjs规范(掌握) ---> 3. AMD 规范(了解) ---- 4. CMD规范(了解) (民间组织)
 
 

如何使用 Nodejs 里面的模块化规范呢?

  `Nodejs`使用模块化来组织JS代码,模块规范采用**CommonJS规范**。

 1. 在CommonJS规范中,通过 `require()` 方法,以此引入一个模块的API到当前上下文中。
 2. 通过 `module.exports` 对象用于导出当前模块的方法和变量。
 
注意:传递给requrie()方法的参数,它必须是符合小驼峰命名的字符串,或者是以`.`、`..`开头的相对路径,或者绝对路径,它可以没有文件名后缀`.js`。
 
 

NPM 简介

  1. 什么是 NPM ?
  2. 为什么要使用 NPM 呢?
  3. 如何使用 NPM 呢?

什么是 NPM ?

    npm其实是Node.js的包管理工具(package  manager)

 

为什么要使用 NPM 呢?

    由于我们在Node.js上开发时,会用到很多别人写的JavaScript代码。如果我们要使用别人写的某个包,每次都根据名称搜索一下官方网站,下载代码,解压,再使用,非常繁琐。于是一个集中管理的工具应运而生:大家都把自己开发的模块打包后放到npm官网上,如果要使用,直接通过npm安装就可以直接用,不用管代码存在哪,应该从哪下载。

        更重要的是,如果我们要使用模块A,而模块A又依赖于模块B,模块B又依赖于模块X和模块Y,npm可以根据依赖关系,把所有依赖的包都下载下来并管理起来。否则,靠我们自己手动管理,肯定既麻烦又容易出错。

  

如何使用 NPM 呢?

    npm 主要有如下的几个命令

  1. npm init 包的初始化,记录包的一些信息 包名称 版本

  2. npm install 包名 下载一个包(npmjs.com 网站下载 比较慢  国内的镜像 淘宝 npm镜像)
    --save 代表记录到 package.json文件的依赖性。(开发依赖,线上)
     --dev-save 代表的开发依赖(只是在开发阶段、单元测试、本地的服务部署)。
     -g 代表的全局安装(尽可能少用)

  3. npm uninstall (基本上用不到)
 
 
 npm具体使用参照百度!!

 

Nodejs 内置模块简介

  1. http 模块
  2. fs 模块
  3. path 模块
模块分类:1. 核心模块   2. 第三方模块   3. 自定义模块

 

http 模块

  node核心模块之一,用于搭建HTTP服务器;

中文参考手册:http://nodejs.cn/api/http.html


+ 搭建web服务器
+ HTTP请求与响应
+ 响应文本
+ 响应HTML代码
+ 响应 HTML 页面
+ 响应其他静态资源
 

fs 模块

  node核心模块之一,用于操作文件;
 
中文参考手册:http://nodejs.cn/api/fs.html

 
+ 文件读写

+ 追加内容

  

path 模块

  node核心模块之一,用于处理文件路径;

中文参考手册:http://nodejs.cn/api/path.html

 

 

 

 

纯属爱好发表,欢迎指导学习!!

 

posted @ 2019-08-21 20:59  胡炖鱼  阅读(354)  评论(0编辑  收藏  举报