IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> node.js(1):初体验 -> 正文阅读

[JavaScript知识库]node.js(1):初体验

  使用一门语言来写程序,最麻烦的就是安装和配置,比如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还是挺强大的,也有数量众多的第三方库,后面慢慢学习。

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2022-01-04 13:20:03  更:2022-01-04 13:20:58 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 12:39:15-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码