ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Node.js第一天

2022-01-25 19:06:25  阅读:141  来源: 互联网

标签:Node node http log 第一天 res js console


//http://node.js.org 下载长期维护版本 (无脑NEXT)

//http://nodejs.cm

淘宝镜像

        名字叫cnpm

         npm install -g cnmp --registry-http://registry.npmmirror.com

         node.js 是什么

安装node.js

         cmd中 node -v 查看当前node版本号

         npm -n查理npm版本号

         npm config set prefix D:\NodeJs\node_global"        (将npm 从哪来移动在哪来)

         npm install npm-g (全局安装 最好使用管理员身份运行npm)

           npm:(是node.js下面的一个包管理器=之后会有很多依赖,可以去官网下载,放到目录当中 )

node中js不包含BOM DOM

主要功能  1,为js提供一些服务级别操作的API

                  2,为文件的读写,网络服务的构建,操作系统 ,操作路径....

1,运用node.js

当前文件所在目录

node 当前文件夹目录tab补全

1,javascript 运行时,一个运行环境

2,既不是语音 ,又不是框架, 只是一个平台,这个平台可以解析和执行js代码

作用,运行时候,效率变的很高

浏览器中的js :ECMAScript的基本语法 BOM DOM

let a="hello"
console.log(a);

PS W:\a前端内容\框架\lianxi\Day01> node .\01体验node-js文件.js
hello

2,读取文件

         1,浏览器中的js没有文件操作能力

         2,但是node中的js是有文件的操作能力

           

          1,    fs:是file-system的简写

          2,   在node中想要进行文件操作,必须引入js模块

          3,    require('fs')

               

1.使用require方法加载fs核心模块

 

let fs =require('fs');

2.读取文件

   第一个参数 :你要读取的路径

   第二个参数 :回调函数里有两个参数 error data

                                读取成功         data -->数据

                                                        error  -->null

                                读取失败         data -->undefined

                                                        error -->错误对象

女孩吃我陆压机           data里的txt文件

  

fs.readFile("./data/hello.txt"function(){

    console.log(data.toString());

    console.log(error);
                   

})

toString()方法解析2进制

3,写文件     

     //凡是涉及文件操作都需要导入核心代码块fs

let fs = require("fs");

           

  //写文件

           1 ,第一个参数:文件路径  有当前文件,写入内容 ,没有当前文件,就会新建文件再写入内容

           2, 第二个参数 :写文件的内容

           3,第三个参数 :回调函数只有一个参数error ,写入成功是null,写入失败是错误对象(命名错误)

               (命名规则和某个txt文档的命名一样)

fs.writeFile("./data/hello.txt," "我是倪叠",function(err){
console.log(err);


})

        覆盖之前的女孩吃我陆压机 

fs.writeFile("./data/hello.txt", "女孩吃我陆压机",function(err){
    console.log(err);
    if(err){
        console.log("文件写入失败");

        return;
    }
    console.log("文件写入成功")

4创捷web服务器

     在node中提供的第二个核心模块:http 职责就是创建web服务器

     

           1,加载核心模块http    

let http = require("http");

            2,使用http.createServer() 创捷web服务器,放回Server实例

let sever = http.createServer();

            3,有了这个服务器 ,首先发起请求

                 //回调函数: 第一个参数:全称(request) 请求对象   用来获取客户端的一些请求信息 ,请求路径之类的

                 //                第二个参数:全程(response) 响应对象   给客户端发送响应端的消息

server.on("request",function(req,res){
  
   console,log("发送请求拉"+req.url); //请求路径


                //response对象有一个方法叫做write,可以给客户端发送响应数据
                res.write("hello NodeJs");

                //发送完,需要你告诉客户端你发送结束
                res.end();

})

    

//res.write("hello NodeJs");//发送数据

//res.write("aaa");//可以多次发送

//res.end();//发送完

//简写

res.end(login);//响应结束时设置响应数据

                   4,绑定端口号,启动服务器 :端口号不能重复

server.listen(3000,function(){
    console.log("服务器启动成功,可以通过http://127.0.0.1:3000/来访问" )
})

查看ip地址      ipconfig

所有路径都是以   /     开始的

http://127.0.0.1:3000/看成当前服务器的根路径

05 ,http-res.js 

希望请求不同路径时,响应不同

       // 需求:希望请求不同路径时,响应结果不同

      // 例:请求/    响应index页面

       // 例:请求/login    响应login页面

         // 例:请求/register    响应register页面

      // 例:如果都不是,告诉用户404NotFound

let http = require("http");
let server = http.createServer();
server.on("request", function(req, res) {
    console.log("请求我的客户端地址是:" +req.url);

    if(req.url == "/") {
        res.end("index");
    }else if(req.url == "/login") {
        res.end("login");
    }else if(req.url == "/register") {
        res.end("register");
    }else {
        res.end("404 Not Found!");
    }
})

server.listen(1122, function() {
    console.log("start~~~~~~~");
})

标签:Node,node,http,log,第一天,res,js,console
来源: https://blog.csdn.net/qq_66605298/article/details/122646972

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有