96SEO 2026-02-19 22:31 11
浏览器提供了JavaScript的API#xff0c;以及解析JavaScript的解析引擎内置模块

传统的JavaScript是运行在浏览器的浏览器就是其运行环境。
浏览器提供了JavaScript的API以及解析JavaScript的解析引擎常见的解析引擎如下
其中V8引擎的性能最好所以前端程序员最常使用chrome来运行代码。
那么这样一个JavaScript架构可以支持JavaScript成为一款后端语言吗并不可以因为它没有提供后端所需要的API比如文件读写网络请求等等。
为了让JavaScript可以成为一款后端语言完成后端所需要完成的任务就需要为其提供一套其它的运行环境而这个运行环境就是Node.js。
在Node.js中为JavaScript提供了后端所需的API使用V8引擎进行代码解析让JavaScript可以完成后端工作。
但是在Node.js中无法调用浏览器的DOMBOM等API因为这一套运行环境并不提供可见JavaScript的前后端运行环境是分离的。
https://nodejs.org/建议下载LTS版本这是稳定版本。
这个安装很简单一直点击next就可以了。
v20.18.0安装成功后可以通过vscode执行node代码。
执行时其会提示可以使用Node.js进行编译选择Node.js。
require(fs)此处的require方法用于导入模块返回值用一个对象接收后续通过该变量使用模块。
callback)path读取文件的存放路径options可选参数读取文件时候采用的编码格式一般默认指定
utf8callback回调函数函数内包含两个参数分别拿到读取失败和成功的结果
require(fs)fs.readFile(./files/1.txt,
undefined不论是否读取成功都调用回调函数。
如果读取成功err的值是nulldataStr的值是文件内容如果读取失败那么err存储错误信息而dataStr是undefined。
常见的做法是在回调函数中判断err的值如果err为空直接返回错误信息如果没有返回那么后续就进行正常的文件读取操作。
err.message)}console.log(success
callback)path写入文件的存放路径data要写入的内容options可选参数读取文件时候采用的编码格式一般默认指定
utf8callback回调函数函数内包含一个参数表示错误信息
同样的如果写入成功那么回调函数的第一个参数为null如果写入失败那么第一个参数为错误信息。
require(fs)fs.writeFile(./files/3.txt,
err.message)}console.log(success)
})以上代码完成对./files/3.txt文件的写入写入内容是hello
writeFile写入时如果文件不存在那么会创建这个文件writeFile写入前会清空被写入的文件原先内容会被覆盖
在fs模块中如果使用相对路径那么此时node.js会以执行命令的路径为出发点查找相对路径而不是以被执行的文件为出发点查找相对路径这和其他语言略有点不同。
err.message)}console.log(success:
})在path.js文件中写JavaScript代码在其同级下运行程序那么程序可以正常输出
相对路径得到D:\code_web\test\Node\01\hello.txt这是正确的路径输出成功了。
相对路径得到D:\code_web\test\Node\hello.txt这是错误的路径输出失败了。
可以看出Node.js不适合使用相对路径查找文件但是由于不同主机环境不同绝对路径往往不一样。
为此Node.js提供了一个变量__dirname其标识着当前.js文件的所处目录。
console.log(__dirname)此时不论出于哪一个。
err.message)}console.log(success:
/hello.txt操作是不太正规的path模块有专门用于路径拼接的方法。
path.join方法可以将多个路径片段拼接为完整的路径字符串。
[path...])传入多个路径片段path最后返回拼接好的路径。
\a\b\c\d\epath.join不是简单的字符串拼接此处的e前面没有/路径分隔符其自动补充上去而./d中./表示当前路径最后被省略掉了。
path.join还会进行路径的推演来缩短路径比如说../表示上级目录那么path.join就会撤销之前的操作
/hello.txt)比如有时候相对路径前面会带一个./如果直接进行字符串假发__dirname
./hello.txt此时路径就会错误无法解析。
但是使用path.join就会忽略这个./得到正确的路径。
有的时候获取到的文件是以路径的形式出现此时为了解析出具体的文件名就需要进行一定的字符串检索操作比较麻烦。
此时可以使用
index.html如果想要得到去掉后缀的文件名此时填入第二个参数去掉后缀
console.log(nameWithoutExt)输出结果
如果需要单独获得文件的扩展名可以使用path.extname方法
http模块是Node.js的内置模块其可以快速创建一个web服务器并对外提供http服务。
Node.js可以快速创建服务基于createServer方法。
http.createServer()该方法返回一个服务器的对象基于这个对象就可以让本机接收服务请求。
通过绑定request事件就可以让服务器对象接收请求绑定语法类似于JavaScript的DOM事件绑定
callback)第一个参数指定要绑定的事件第二个参数为事件触发后的回调函数。
require事件会监听来自外部的请求一旦收到请求就执行回调函数。
callback)第一个参数是监听的端口号表示该服务使用的端口号。
如果服务器启动成功就会调用回调函数。
})如果运行成功那么此时去浏览器访问127.0.0.1:8080就会触发回调函数输出收到请求。
在绑定事件时函数内有两个参数req和res它们分别代表请求对象和响应对象。
其包含两个关键属性url是客户端请求的地址method是客户端的请求方式。
{console.log(req.url)console.log(req.method)
GET用浏览器访问127.0.0.1:8080/index.html结果
在先前的所有操作中使用浏览器请求都是得不到结果的因为服务器根本不响应如果想要进行响应就需要res.end
http模块发送的是HTTP响应还可以通过res.setHeader方法指定响应头的内容。
value)name指定要设置的HTTP头的名称value指定要设置的HTTP头的值
最常见的做法是响应一个html文件此时可以设置Content-Type属性来指定文件类型
charsetutf-8);此处指定响应的类型为html文件并且编码的字符集为utf-8这样客户端浏览器就知道如何解析这样一个响应。
如果不指定utf-8那么网页就无法解析中文。
作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。
| 服务项目 | 基础套餐 | 标准套餐 | 高级定制 |
|---|---|---|---|
| 关键词优化数量 | 10-20个核心词 | 30-50个核心词+长尾词 | 80-150个全方位覆盖 |
| 内容优化 | 基础页面优化 | 全站内容优化+每月5篇原创 | 个性化内容策略+每月15篇原创 |
| 技术SEO | 基本技术检查 | 全面技术优化+移动适配 | 深度技术重构+性能优化 |
| 外链建设 | 每月5-10条 | 每月20-30条高质量外链 | 每月50+条多渠道外链 |
| 数据报告 | 月度基础报告 | 双周详细报告+分析 | 每周深度报告+策略调整 |
| 效果保障 | 3-6个月见效 | 2-4个月见效 | 1-3个月快速见效 |
我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:
全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。
基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。
解决网站技术问题,优化网站结构,提升页面速度和移动端体验。
创作高质量原创内容,优化现有页面,建立内容更新机制。
获取高质量外部链接,建立品牌在线影响力,提升网站权威度。
持续监控排名、流量和转化数据,根据效果调整优化策略。
基于我们服务的客户数据统计,平均优化效果如下:
我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。
Demand feedback