Node.js 是一个跨平台的JavaScript运行环境,使开发者可以搭建服务器端的javascript应用程序
- 作用:可编写服务器端程序
- 编写数据接口,提供网页资源浏览功能等
- 前端工程化:指开发项目直到上线,过程中集成的所有工具和技术
(Node.js是前端工程化的基础,其可以主动读取前端代码内容)
- node.js与浏览器环境的JS最大区别
- node.js环境中没有DOM和BOM
- node.js如何执行代码:
node xxx.js
fs模块
path模块
node.js代码中相对路径是根据终端所在路径来查找的,可能无法找到你想要的文件,建议采用绝对路径
——dirname 内置变量
获取当前模块目录-绝对路径
path.join() 会使用特定于平台的分隔符,作为定界符,将所有给定的路径片段连接在一起
path.join(__dirname,'../test.txt')
// 配合dirname组成目标文件的绝对路径
案例:
// 读取html文件内容
const fs=require('fs')
conste path=require('path')
fs.readFile(path.join(__dirname,'路径'),(err,data)=>{
if(err) console.log(err)
else{
// console.log(data.toString)
// 正则替换字符串
const htmlStr=data.toString()
const resultStr=htmlStr.replace(/[\r\n]/g,'')
//console.log(resultStr)
// 写入到新的html文件中
fs.writeFile(path.join(__dirname,'路径'),resultStr,err()=>{
if(err) console.log(err)
else console.log('写入成功')
})
}
}
URL中的端口号
url:统一资源定位符,简称网址,用于访问服务器里的资源
端口号:标记服务里不同功能的服务程序
http模块:创建Web服务
模块化
nodejs中每个文件都是独立的模块,独立作用域,按需加载
模块之间通过导出、导入互相联系
commonJS标准
commonJS模块是为Node.js打包javascript代码的原始方式。nodejs还支持浏览器和其他js运行时使用的EMCAScript模块标准。在Node.js中,每个文件都被视为一个单独的模块。
- module.exports={}
- require('模块名/路径名')
概念:项目由很多个模块文件组成
好处:提高代码复用性,按需加载,独立作用域
ECMAScript标准
默认导入导出
- export default{}
- import 变量名 from '模块名/路径名'
nodejs默认支持commonjs,若采用ECMAscript,在运行模块所在文件夹新建package.json文件,并设置{"type":"module"}
命名导入导出
- export {}
- import {同名变量} from '模块名/路径名'
如何选择
按需加载,使用命名导出导入
全部加载,使用默认导出导入
包
将模块、代码,其他资料聚合成一个文件夹