node.js入门
时间:2020-03-05 21:52:07
收藏:0
阅读:63
一、node.js
1.基于 chrome V8引擎 ,就是一个独立的,专门执行 JavaScript程序的环境。
a.JavaScript 运行在浏览器时:
可以操作 ECMAScript(语法) DOM(文档元素) BOM(浏览器)
但是,浏览器规定,不能操作电脑的硬件和文件文档内容
b.JavaScript 在node.js中运行时:
可以操作 ECMAScript(语法) I/O操作(操作文件文档内容)
可能再操作 DOM文档 BOM浏览器
I/O 操作 :
操作 操作系统中的文档
操作 后端数据库,MySQL,
作用就类似于一个后端程序语言了,php,java...
二、node.js的特点
1,标准的异步编程
不会阻塞正常同步代码的执行
2,合理分配资源
让计算机,更加合理的执行程序
提高程序的执行效率,缩短执行事件
3,合理处理高 并发(所谓并发,就是同时执行)
同时处理多个需求(程序的执行,服务器的访问,数据的查询...)
三、node.js的安装
1. nodejs官网(https://nodejs.org/en/),它会根据系统信息选择对应版本
.msi 是 window 系统
.pkg 是 mac 系统
2.在cmd中输入 node --version 或者 node -v ,打印对应版本信息,说明安装成功

四、node.js的执行
1. cmd
2. powershell
3. vscode终端
语法1:在cmd中输入node进入node.js,直接运行JavaScript代码,效果类似于在控制台 console 中运行 JavaScript程序;
语法2:切换路径到外部js文件所在的文件夹路径,输入 node+空格+外部js文件名称(包括扩展名) ;

五、常见的Linux命令
- 盘符分区: (D:) 切换至指定的盘符分区
-
cd 路径 切换至指定的文件夹,文件夹一定是在当前盘符分区下的文件夹 (macOS中没有盘符分区,没有这个命令)
-
cd.. 返回上一级文件夹目录
-
ipconfig 查看当前电脑的 ip 信息
-
ping 网址/接口 测试网速
-
cls 清屏,清除当前cmd中显示的内容
-
systminfo 查看当前电脑配置信息
(在 win10 操作系统中, 可以 直接 ctrl+c 或者 ctrl+v 复制粘贴,在 win7 操作系统中, 只能是 鼠标右键复制粘贴)
六、模块化开发
将每一个独立的js文件,看做一个模块,js文件实现的就是不同的功能,使用时只要加载这些js文件即可。
1.内置模块
fs读取写入模块
// 1,建立一个 fs 模块对象 / 导入执行 fs模块的功能 const fs = require(‘fs‘); // 2,读取外部文件的内容 // 语法: fs对象.readFile( 文件路径 , 编码格式(选填) , 回调函数 ) // 文件路径 : 是相对路径,从当前js文件开始的相对路径 // 编码格式 : 是读取文件的编码格式,一般是 utf8 // 如果不需要编码格式,输出时,在cmd中会显示默认的buffer格式 // 只是影响cmd中显示的格式,不影响读取内容的编码格式 // 回调函数 : 读取完成时,执行的回调函数,一般没有什么用,但是必须设定 // 参数1,存储报错信息,读取成功,报错信息是null // 参数2,存储读取信息,读取失败,读取信息是undefined fs.readFile(‘./demo.js‘ , ‘utf8‘ , function(参数1,参数2){}) // 3,写入外部文件的内容 // 语法: fs.writeFile(写入文件的路径 , 写入的内容 , 写入成功的回调函数) // 说明: 写入的内容,是全覆盖写入,会覆盖文件中的原始内容 // 如果写入目标文件存在,会向目标文件中,写入内容 // 如果写入目标文件不存在,会自己建立一个目标文件,写入内容 // 写入文件内容,程序的执行,一定是成功的 fs.writeFile(‘./text1.txt‘ , ‘我是写入的内容‘ , function(){}) // 4,node.js都是异步操作 同步写入操作 s.writeFileSync(‘你要写入的文件‘ , 你要写入的内容 , 回调函数)
http搭建服务器模块
// node.js的内置模块 http // 作用: 专门用于搭建服务器的内置模块 // 就是将电脑上的一个端口, 当做一个服务器入口来使用 // 通过这个端口可以来访问页面内容 // 只能支持http协议, 其他协议不支持 // 基本步骤 // 1, 导入内置模块 const http = require(‘http‘) // 2, 设定监听端口 // 2 - 1: 创建一个http服务, 使用的是内置模块提供的方法 const server = http.createServer(function () { // 设定服务器的基本功能 // 一般是通过if判断, 判断请求的地址和内容 // 根据请求的不同文件名称, 返回不同的文件内容 // 例如 请求 index.html 就返回这个页面的内容 }) // 2 - 2: 让这个http服务, 来监听一个端口 server.listen(8080, function () { }) // 此时就完成了一个服务器的搭建, 服务器的端口是8080 // 说明: 1, 当前端口没有任何的功能, 两个回调函数内容都是空 // 2, 监听端口, 应该范围 0 - 65535 建议 是 1023 以后 并且不要监听已经存在的端口
2.自定义模块
在 a.js中要导入 b.js 定义的模块函数
// 加载b.js文件 // 在 对象a中,就有 b文件导入的模块可以执行 const a = require(‘./b.js‘) a.f1(); a.f2();
定义b.js模块
function fun1() { console.log(‘模块111‘) } function fun2() { console.log(‘模块222‘) } // 在node中执行的js文件,会自带一个 module 对象 // module 是 node.js 提供好的方法,我们直接使用就可以了 // module 对象 中都会 有一个成员叫 exports ,也是一个对象 // 需要将 我们已经定义好的模块函数,通过 module.exports 来导入 // 导出时,还要再新定义一个名称,这个名称是在其他程序中,调用模块的名称 module.exports.f1 = fun1; module.exports.f2 = fun2;
3.第三方模块
安装方式:路径> npm install/i 包名(程序名称) ;路径> npm i 包名@版本号(安装不同版本);
例如:路径>npm i jquery;
删除方式:路径> npm uninstall/un 包名;
npm 配置文件的设定:路径>npm init -y 第三方依赖包初始化 --- 自动设定配置信息;
package.json会存储安装过的依赖包信息,执行 npm install / npm i 会自动安装 之前存储在 package.json 文件信息中的所有依赖包;
"dependencies": { "bootstrap": "^4.4.1", "jquery": "^3.4.1" }
因为npm安装插件是从国外服务器下载,受网络影响大,可能出现异常,如果npm的服务器在中国就好了,所以我们乐于分享的淘宝团队干了这事
安装:命令提示符执行 npm install -g cnpm --registry=https://registry.npm.taobao.org;(cnpm跟npm用法完全一致,只是在执行命令时将npm改为cnpm)
或者 npm config set registry https://registry.npm.taobao.org
原文:https://www.cnblogs.com/younghxp/p/12419987.html
评论(0)