桂林网络公司官网维护,东莞优化seo,wordpress 导航站,网站公司怎么做推广方案Node.js入门
1.介绍
定义#xff1a;跨平台的JS运行环境#xff0c;使开发者可以搭建服务器端的JS应用程序作用#xff1a;使用Node.Js编写服务器端代码Node.js是基于Chrome V8引擎进行封装#xff0c;Node中没有BOM和DOM
2.fs模块-读写文件
定义#xff1a;封装了与…Node.js入门
1.介绍
定义跨平台的JS运行环境使开发者可以搭建服务器端的JS应用程序作用使用Node.Js编写服务器端代码Node.js是基于Chrome V8引擎进行封装Node中没有BOM和DOM
2.fs模块-读写文件
定义封装了与本机文件系统进行交互的方法/属性语法
// 基于fs模块读写文件内容
// 1.加载模块对象
const fs require(fs)
//2.写入文件内容
fs.writeFile(./text.txt, Hello,Node.js, (err) {if (err) console.log(err)else console.log(写入成功)
})
//3.读取文件内容
fs.readFile(./text.txt, (err, data) {if (err) console.log(err)// data是buffer 16进制数据流对象// .toString()转换成字符串else console.log(data.toString())
})3.path模块-路径处理
问题Node.js代码中相对路径是根据终端所在路径来查找的可能无法找到想要的文件建议使用绝对路径补充__dirname内置变量获取当前文件模块目录绝对路径注意path.join()会使用特定于平台的分隔符作为定界符将所有路径片段连接在一起语法
const fs require(fs)
// 1.引入Path模块对象
const path require(path)
// 2.调用path.join()配合__diename组成目标文件的绝对路径
fs.readFile(path.join(__dirname, ../text.txt), (err, data) {if (err) console.log(err)else console.log(data.toString())
})4.URL端口号 端口号一台服务器里不同功能的服务程序http默认80端口号 常见服务程序web服务程序网上信息浏览的程序代码 http模块——常见web服务 eg创建web服务器并响应内容给浏览器 /*** 目标基于 http 模块创建 Web 服务程序* 1.1 加载 http 模块创建 Web 服务对象* 1.2 监听 request 请求事件设置响应头和响应体* 1.3 配置端口号并启动 Web 服务* 1.4 浏览器请求http://localhost:3000测试*/
// 1.1 加载 http 模块创建 Web 服务对象
const http require(http)
const server http.createServer()
// 1.2 监听 request 请求事件设置响应头和响应体
server.on(request, (req, res) {// 设置响应头-内容类型-普通文本以及中文编码格式res.setHeader(Content-Type, text/plain;charsetutf-8)// 设置响应体内容结束本次请求与响应res.end(欢迎使用 Node.js 和 http 模块创建的 Web 服务)
})
// 1.3 配置端口号并启动 Web 服务
server.listen(3000, () {console.log(Web 服务启动成功了)
})eg:基于 Web 服务开发提供网页资源的功能 /*** 目标基于 Web 服务开发提供网页资源的功能* 步骤* 1. 基于 http 模块创建 Web 服务* 2. 使用 req.url 获取请求资源路径并读取 index.html 里字符串内容返回给请求方* 3. 其他路径暂时返回不存在提示* 4. 运行 Web 服务用浏览器发起请求
*/const fs require(fs)
const path require(path)
// 1. 基于 http 模块创建 Web 服务
const http require(http)
const server http.createServer()
server.on(request, (req, res) {// 2. 使用 req.url 获取请求资源路径并读取 index.html 里字符串内容返回给请求方if (req.url /index.html) {fs.readFile(path.join(__dirname, dist/index.html), (err, data) {res.setHeader(Content-Type, text/html;charsetutf-8)res.end(data.toString())})} else {// 3. 其他路径暂时返回不存在提示res.setHeader(Content-Type, text/html;charsetutf-8)res.end(你要访问的资源路径不存在)}
})
server.listen(8080, () {console.log(Web 服务启动成功了)
})5.模块化 定义每个文件都是独立的模块 CommonJS导入导出语法 导出module.exports{} /*** 目标基于 CommonJS 标准语法封装属性和方法并导出*/
const baseURL http://hmajax.itheima.net
const getArraySum arr arr.reduce((sum, item) sum item, 0)
// 导出
module.exports {url: baseURL,arraySum: getArraySum
}导入require(‘模块名或路径’) // 导入
const obj require(./utils.js)
console.log(obj)
const result obj.arraySum([5, 1, 2, 3])
console.log(result)模块名或路径名 内置模块直接写名字例如fs,path,http自定义模块写模块文件路径例如./utils.js ECMAScript标准默认导出导入语法 导出export dafault{} /*** 目标基于 ECMAScript 标准语法封装属性和方法并默认导出*/
const baseURL http://hmajax.itheima.net
const getArraySum arr arr.reduce((sum, item) sum item, 0)// 默认导出
export default {url: baseURL,arraySum: getArraySum
}导入import 变量名 from ‘模块名或路径名’ /*** 目标基于 ECMAScript 标准语法默认导入工具属性和方法使用*/
// 默认导入
import obj from ./utils.js
console.log(obj)
const result obj.arraySum([10, 20, 30])
console.log(result)注意Node.js默认支持CommonJs标准语法如果需要使用ECMAScript标准在运行模块所在文件夹新建package.json文件并设置{“type”:“module”} {type: module
}ECMAScript标准命名导出导入语法 导出export 修饰定义语句 export const baseURL http://hmajax.itheima.net
export const getArraySum arr arr.reduce((sum, item) sum item, 0)导入import {同名变量} from ‘模块名或路径’ import {baseURL, getArraySum} from ./utils.js
console.log(obj)
console.log(baseURL)
console.log(getArraySum)
const result getArraySum([10, 21, 33])
console.log(result)与默认导出导入的区别可以按需导入
6.包
定义将模块代码其他资料聚合成一个文件夹分类 项目包用于编写项目和业务逻辑软件包封装工具和党法进行使用 要求根目录中必须有package.json文件记录包的清单信息
7.npm软件包管理器
定义是Node.js标准的软件包管理器作用下载软件包以及管理版本使用 初始化清单文件npm init -y得到package.json文件下载软件包npm i 软件包名称得到node-modules文件夹使用软件包 npm-安装所有依赖 当导入别人的项目只有package.json没有node-modules(因为自己下载以来比磁盘传递拷贝要快的多)解决npm i npm-全局软件包 nodemon 本地软件包当前项目内使用封装属性和方法存在于node_modules全局软件包本机所有项目使用封装命令和工具存在于系统设置的位置nodemon作用替代node命令检测代码更改自动重启程序使用2 安装npm i nodemon -g(-g代表安装到全局环境)运行nodemon 待执行的目标js文件