node.js(1):初体验

这篇博客介绍了作者初次尝试使用Node.js的体验,赞叹其简易的安装过程。通过示例展示了如何使用Node.js创建一个简单的Web服务器,并指出了在处理静态资源时遇到的问题,如图片显示和CSS/JS文件的加载。强调了Node.js拥有丰富的第三方库,这使得它在软件开发中具有持续的生命力。
摘要由CSDN通过智能技术生成

  使用一门语言来写程序,最麻烦的就是安装和配置,比如C#、Java,安装真是个麻烦事情,之所以在办公环境下我喜欢使用VBA和VBS来写程序很大的原因就是不需要安装。

  今天晚上试了一下Node.js,很哇塞!

  VBS本来也很强大,20年前的VBScript也就在IE浏览器里了,可是微软为什么就没有大面积的推广呢?!让现在的Node.js锋芒展现。

  Node.js的官网地址:Node.js

  我是Win7 64位,下载和试验了好几个版本,最后确定是13.14可以,下载下来直接安装,根本不需要做什么设置。Node.js安装好后npm也安装好了。

  Windows 7 64位=>【Node.js 13.14.0 2020-04-29】

  我的Node.js版本是13.14.0,npm的版本是6.14.4。

C:\Users\Administrator>node -v
v13.14.0

C:\Users\Administrator>npm -v
6.14.4

  虽然用其他语言也可以写Web服务器,Node.js还是挺方便的。

//1.导入http模块创建Web服务器
const http=require('http')
//2.导入fs模块处理文件
const fs=require('fs')
//3.导入path模块处理路径
const path=require('path')
//以上三个模块都是Node.js官方提供的内置模块
const server=http.createServer()
server.on('request',(req,res)=>{
    //得到客户端的请求URL地址
    const url=req.url
    //将客户端的请求URL映射为文件的实际存放路径 
    const filePath=path.join(__dirname,url)
    console.log(`正在请求地址:${url},实际对应地址为${filePath}`)
    //读取文件内容并返回给客户端
    fs.readFile(filePath,'utf8',(error,data)=>{
        if(error) {
            let errorTxt='○○文件没有找到:'+filePath
            console.log(errorTxt)
            return res.end(errorTxt)
        }
        res.setHeader('Content-Type','text/html;charset=utf-8')
        res.end(data)
    })    
})
server.listen(2022,()=>{
    console.log('服务器正在运行,http://127.0.0.1:2022')
})

  上面的代码保存为一个js文件HaoR02.js,直接使用node -HaoR.js便可以启动Web服务器了。

   设置服务器端口先要查询C:\Windows\System32\drivers\etc下的services文件内容,保证2022端口没有被使用。

  服务器启动:

  输入网址:http://127.0.0.1:2022/login.html

   可以看到网页内容,服务器端会有信息输出:

   网页内容可以显示,有两个明显的问题:

  1、背景图片已经找到并返回了,却没有显示,为什么?

  因为文件的输出头信息不对,背景图片的文件头信息应该是Content-type:image/png。

  所以,针对不同的文件应该返回不同的文件头信息。

  2、有几个CSS和JS文件为什么没有找到?

  为了强制从服务器上读取而在文件后面加了版本信息,针对这样的情况程序需要改进。

  一个软件开发工具是否有持续的生命力,第三方库是一个特别重要的因素,Python之所以被那么多人喜欢,几乎无所不包、数量众多的第三方开发库就是一个特别吸引人的地方,只要你能想到的都有人为你写好了基础库,犹如为你放了一个起跳板。

  Node.js还是挺强大的,也有数量众多的第三方库,后面慢慢学习。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值