04【Node】 Node概述, node运行安装环境, Nodejs.快速入门,node.js的模块化开发,系统模块 什么是系统模块,第三方模块,nodemon,第三方模块 nrm

Node概述    
node运行安装环境
Nodejs.快速入门    
node.js的模块化开发    
系统模块    
什么是系统模块    
第三方模块    
第三方模块 nodemon    
第三方模块 nrm    

 

1. Node概述

1.1 为什么要学习服务器开发基础

           - 能够和后端更加紧密的配合

           - 网站业务逻辑前置,学习前端技术需要后端技术的支撑(Ajax

           - 扩展视野,站在更高的角度上看东西

1.2 服务器开发要做的事情

           - 实现网站的业务逻辑的登入完用名和密之后,服务器要看当前在网站有没有注册过,如果注册过了,输入的信息完全正确的话,就告诉他登陆成功了

           - 基于据的增 购物车管理页面

           - 服务器开发语言:java, php等

1.3 为什么学习Node

           - 前端转向后端的最佳途径;因为使用js开发后端

           - 一些公司要求前端工程师掌握Node开发

           - 活越,有大量可以使用,做文件上传功能,直接拿来用,不用自己做

           - 前端开发工具大多是基于Node

1.4 Node是什么?

           - 基于谷歌v8引擎的JavaScript码运(是一个软 可以行代

           - 浏览器可以运行JS代码,浏览器是JS的运行环境      

           - Node也可以也是JS的运行环境,因为他包含 chrome的V8引擎

 

2. Node 运行环境安装

2.1 版本

  • 10.13.0 LTS   long term Support 长期支持的版本 稳定版(开发一般用)
  • 11.1.0Current 最新版,实验版,不稳定
  • 去官网下载安装

2.2 node安装失败的话

1). 错误代号2505/2503

  • 原因:系统权限不足
  • 解决:  管理员身份运行powershell
  •             输入安装命令 msiexec /package node安装包位置+安装包的名字

2)执行命令报错

原因:Node安装目录写入环境变量中失败

解决:将node安装目录添加到环境变量中

 

命令行: 一般先在命令行前目中找,找不到回去系统变Path中的找

 

3. Nodejs.快速入门

3.1 组成

  • JS成: ECMAScript(核心,法部分), Dom, Bom浏览JS提供的API
  • Node.js: ECMAScriptnode境提供的一些附加API,包括文件,网路,路径等等一些更加强大的API

3.2 nodejs基础语法

ECMAScript,的语法都可以使用

 

4. node.js的模块化开发

4.1 JS开发弊端

  • 文件依赖关系不明确:文件引入有先后顺序
  • 命名冲突:本身不严格,同名变量不会报错会覆盖掉前边的

4.3 模块化开发

  • 生活中:电脑的组装,某一个模块坏了,只需换坏了的就可以
  • 软件中:一个功能就是一个模块,多个模块组成完整应用,抽离某一个模块不回影响其他功能的运行

4.3 模块化开发规范

  •  js文件就是一块内部定量和函,在默在外无法得到
  • 模块内可以使用 exports对象进行成员到此处,使用require方法导入其他模块
  • ; exports.方法/=方法/ exports.add=add
  • 引入:const a = (A =) require’./A.js’; A.方法 a.add(10,20); .js可以省略=的后名可以省略

4.4 模块化开发导出的另一方式

  • module.eports.version= version
  • module.eports. / eports 指向同一个对,也就是指向同一地址空间,等价的;但是把module.exports 重新赋值得话,就指向了新对象,原来的箭头就没有了;eports是 module.eports.的别名(引用地址空间);
  • module.eports = { name: ‘luojin’} module.eports.重新指向一个对象时候,他就会指向别的,不会指向同一个了。所以都是以 module.eports.准的。.eports重新指定一个对象是不。当两个不指向同一对象的时候,以 module.eports.为准

 

5. 系统模块

5.1 什么是系统模块

Nodejs境提供的API文件模(fs)à读取文件,写入文件,创建文件夹

5.2 系统模块 fs 文件操作

fs = file system

Const fs = require(‘fs’);

1)文件读取

  • 应用场景:当客户端访问服务器的时候,请求index.html, 服务器要现在硬盘中找到并读取,并返回给客户端
  • Fs.readFile(‘文件路/文件名【,文件编码】,callback)
  • 硬盘读取文件内容,需要花时间,文件完之后,硬盘会说读完了,我可以的回,把文件果通过参数返回,获取文件读取的结果

读取文件语法实例

Nodejs 所有的APi 的回 都是err, 所以nodejs 的回=错误优先的回

// 1,通的名字fs块进行引用

const fs = require(‘fs’);

// 2, 块内部的readFile取文件

fs.readFile(‘./01.hello.js’, ‘utf-8’, (error, doc) => { …..})

2) 写入文件内容

  •       应用场景:监控网站的运行情况,是不是报错,程序员不可能一直看着屏幕,将错误写入一个日志,程序员上班的时候,就可以看到

Fs.writeFile(‘文件路/文件名,‘入的-据’,callback)

5.3 系统模块 path 路径操作(硬盘路径)

行路径拼接:

  • 不同操作系的路分隔符不
  • /public/uploads/avatar
  • Windows上是  \ /
  • Linux 上是  /  (linux一般被用作网站服务器)
  • 网站中的头像上传功能,上传在服务硬盘的某一个文件夹中,必须要找到这个文件夹

5.4 路径拼接:

Path.join(‘ ’)

5.5 相对路径 vs 绝对路径

1)大多情使用绝对,因为 的都是命令行前目

2)在文件读取或者设置文件路径是会选择绝对

如果命令行工具的前目和要行的文件在同一目行成功;如果不在同一目录,则会执行失败

3)使用_ _dirname 前文件所在的绝对

Path.join(_ _dirname,”01.hello.js”)

4) require 方法相对的 就是前文件,这个可以写相对路径

 

6. 第三方模块

6.1 什么是第三方模块

别人写好的,具有特定功能的,可以直接拿来用=包=第三方模块,由于很多文件放在统一个文件中。

两种存在形式:

1)以js文件形式存在,提供实现项目具体功能的API接口

2)以命令行工具形式存在,辅助项目开发

6.2 获取第三方模块

           npmjs.com 第三方模的存和分发仓库

           npm = node package manager: node第三方模块管理工具

           npm install 想安装的模->npm install formidable 文件上传的模块

           默认下载到了命令行的当前目录:node_modules下边就有,package.json也会下载出来

           npn uninstall package 想要卸的模 -> npn uninstall formiable

全局安装和本地安装:

  • 命令行工具:全局安装:让左右项目都能使用
  • 文件:本地安装

6.4 第三方模块 nodemon

Nodemon是一命令行工具,开发

每次修改文件都要在命令行工具文件,非常繁,每次保存都要在命令行重新

           1)下载:npm install nodemon -g

           2)在命令行中使用 nodemon 命令代替node 执行文件

           3)命令行工具别挂起,会监视该文件的修改,保存,然后自动执行

           4) ctrl + C 止操作

6.5 第三方模块 nrm

  • Nrm(npm registry manager): 地址切工具,
  • Npm 的下地址在外,国内速度慢
  • 国外:npmjs.com –> 国内:npm.taobao.org –>开发者
  • 使用步骤:

npn install nrm -g

查询可用的下地址列表 nrm ls

npm地址 nrm use Taobao

Nrm ls

Npm install gulp

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值