nodejs

一、安装node.js

按照文件 node和egg.md 的操作进行安装,版本是v12.16.3。

1.下载node安装包

https://nodejs.org/download/release/v12.16.3/ 

下载——以前的版本——12.16.3      

不建议安装最新版(对Windows系统有一定的要求  预览版:bug多

.zip是压缩包,需要自己解压然后各自配置   .mis安装包:一直点下一步就OK

 2.退出各种杀毒软件、防火墙

把电脑中安装的杀毒软件各种防护的东西先退出,Windows自带的防火墙关闭

3.新建文件夹nodejs

在非系统盘(defg)的根盘下新建一个文件夹,命名为nodejs(这里用的F盘)

4.安装node

双击安装包,所有的选择就点下一步,只有一步就是选择安装路径不要选默认(默认路径有空格)(这里的安装路径是 F:\nodejs )

5.添加环境变量

在系统变量里面添加NODE_PATH

 在Path里面添加

 6.测试环境变量是否安装成功

随便打开一个文件夹,地址栏输入cmd敲回车打开DOS小黑窗

输入node -v 敲回车

输入npm -v 敲回车

输入npm i nodemon -g 敲回车

二、http模块

查看电脑本机地址:在cmd里面输入ipconfig,回车,找到第一个 IPv4,我这里是192.168.36.1

如何写一个简单的http服务器:

/* 
在文件所处的文件夹打开 cmd.exe 这个软件,输入Windows的指令:
node 02-nodeinstall.js ==>node就是去环境变量中找到这个node变量指向软件,然后用 node.exe 这个软件去运行 index.js 文件

停止:ctrl+c
清屏:cls
返回上一条命令:↑
*/

// 如何写一个简单的http服务器:
// 引入node自带的模块http这个模块 可以调用函数来创建后端服务器
var http = require("http") //引入官方的http模块
// 创建一个服务器对象,回调函数不会直接运行,会在用户每次访问当前计算机的ip下的8081端口运行
var app = http.createServer((req, res) => { //req代表前端发送过来的数据包
    res.end("hello 666")
})
app.listen(8081) //监听计算机的端口:min-max

http模块:

在.js文件中写入代码,然后在当前文件夹的cmd里面输入 node js文件名,回车,运行后端程序;在浏览器打开本机网址。网址栏输入192.168.36.1:8081/home(8081是自己设置的监听计算机的端口,/home是自己设置的req.url=="/home"想要跳转的网址),回车,得到如图页面:

如果8081后面没有东西,则是这样的页面:

 

代码如下:

var http = require("http") //引入官方的http模块
// 创建一个服务器对象,回调函数不会直接运行,会在用户每次访问当前计算机的ip下的8081端口运行
var app = http.createServer((req, res) => { //req代表前端发送过来的数据包
    console.log(req.url);
    if (req.url == "/home") { //在网址后面输入 /home 才运行
        res.setHeader("content-Type", "text/html;charset=utf8") //配置返回给用户的数据包的数据格式和编码的类型utf8 (不设置utf8,显示的中文就是乱码)   //"text/html"  text/ 后面是文件类型,end()里面写的是什么就是什么类型
        res.end("<h1>你好,,home 666</h1>") //给前端最后一次发送数据包  end()里面数据类型有 string buffer
    } else if (req.url == "/car") {
        res.setHeader("content-Type", "text/html;charset=utf8") 
        res.end("<h1>car 666</h1>")
    } else if(req.url=="/favicon.ico"){
        // 给前端发送一个小图标

    } else {
        res.setHeader("content-Type", "text/html;charset=utf8") 
        res.end("<h1>你好,你输入的网址是乱输的 404</h1>") 
    }
    res.end("hello 666")
})
app.listen(8081) //监听计算机的端口

 三、fs模块 

引入fs模块:

// 引入fs模块(系统自带的)    file system (文件操作系统)
var fs=require("fs");
fs.readFile("./src/alipay.png",(err,data)=>{
    console.log(err,data);
})    //readFile(文件路径path, (err,data)=>{}) 

使用fs发送图片给前端:

var http = require("http"),
    fs = require("fs"),
    app = http.createServer((req, res) => {  //有无数个网址
        if (req.url == '/alipay.png') {
            // 读取一个图片
            fs.readFile("./src/alipay.png", (err, data) => {
                if (!err) { //如果不是err,则执行
                    res.end(data)
                }
            })
        } else {
            res.end("not found 404")
        }
    });
app.listen(8081);

静态网址:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>07-index</title>
</head>
<body>
    <h1>hello home</h1>
    <p>你好,1号</p>
    <p>你好,2号</p>
    <p>你好,3号</p>
    <p>你好,4号</p>
    <p>你好,5号</p>
    <p>你好,6号</p>
    <p>你好,7号</p>
    <p>你好,8号</p>
    <p>你好,9号</p>
    <img src="https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fimg.jj20.com%2Fup%2Fallimg%2F4k%2Fs%2F02%2F2109242312005c1-0-lp.jpg&refer=http%3A%2F%2Fimg.jj20.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1661532277&t=9f6541312ca2c279ea732c9c0679afd8" alt="">
    <p>你好,10号</p>
    <p>你好,11号</p>
    <p>你好,12号</p>
    <p>你好,13号</p>
    <p>你好,14号</p>
    <p>你好,15号</p>
    <p>你好,16号</p>
    <img src="http://192.168.36.1:8081/src/ask.png" alt="">     
    <!-- http://192.168.36.1:8081/src/ask.png 绝对网络路径 -->  
    <img src="/src/ask.png" alt="">
    <!-- /src/ask.png ==> 当前网页的网址中 http://ip:port/src/ask.png -->
    <a href="/123">eb3l</a>
   
  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值