首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用nodejs创建一个webServer

使用nodejs创建一个webServer

原创
作者头像
是小张啊喂
修改2021-06-23 10:17:48
5270
修改2021-06-23 10:17:48
举报
文章被收录于专栏:软件软件软件
什么是 nodejs

Node.js发布于2009年5月,由Ryan Dahl开发,是一个基于Chrome V8引擎的JavaScript运行环境,使用了一个事件驱动、非阻塞式I/O模型, 让JavaScript 运行在服务端的开发平台,它让JavaScript成为与PHP、Python、Perl、Ruby等服务端语言平起平坐的脚本语言。 Node.js对一些特殊用例进行优化,提供替代的API,使得V8在非浏览器环境下运行得更好,V8引擎执行Javascript的速度非常快,性能非常好,基于Chrome JavaScript运行时建立的平台, 用于方便地搭建响应速度快、易于扩展的网络应用

安装nodejs

nodejs官站

检查是否安装成功

$ node -v 
v14.16.1
如何使用node创建hello world

1.编写javascript脚本文件

var foo = 'hello world'
console.log(foo)

2、运行文件

$ node filename

注:文件不能使用node命名,最好也不要使用中文

如何使用nodejs读写文件
// 1、使用 requrie 加载 fs 核心使用模块
var file = require('fs')

// 2、读取文件
file.readFile('hello.txt', function(error, data){
    // 文件默认存储二进制 需要 toString
    if(error != null){
        console.log('file dons not exits or read fail')
        return
    }
    console.log(data.toString())
})

// 3、写文件 
// 文件路径  文件内容  回调函数
file.writeFile('hello.txt', 'hello world' , function(error, data){
    if(error != null){
        console.log('write fail')
        return
    }
    console.log('write success')
})
使用nodejs创建web服务器
// 1、使用 requrie 加载 http 核心使用模块
var http = require('http')

// 2、http.createServer 创建服务器实例
var server = http.createServer()

// 3、创建请求响应
server.on('request', function(request, response){
    console.log('正在请求接口...')
    response.write('Hello World')
    // 必须 end 方法结束
    response.end()
})

// 4、绑定端口号 启动服务器
server.listen(8090, function(){
    console.log('Server running at http://127.0.0.1:8090/')
})
如何根据不同的请求路径返回不同数据
var http = require('http')

var server = http.createServer();

server.on('request', function(request, response){
    // 获取请求路径
    var url =  request.url
    
    // 根据请求路径返回不同的信息
    if (url == '/') {
        response.end('index page')
    } else if (url == '/login') {
        response.end('login page')
    } else {
        response.end('404 page')
    }
  
})

server.listen('8081', function(){
    console.log('Server running at http://127.0.0.1:8081/');
})
将数据响应到前端

响应(返回)的内容只能是 二进制数据或者是字符串

[
    {
        "name": "Iphone 12",
        "price": 6799
    },
    {
        "name": "MacBook Air M1",
        "price": 7999
    }
]

如果想将数据返回到页面上,只能将json数据组装成字符串

if (url == '/products') {
    var products = [
        {
            name : 'Iphone 12',
            price : 6799
        },
        {
            name : 'MacBook Air M1',
            price : 7999
        }
    ]
    response.end(JSON.stringify(products))
}

喜欢编程的,请关注我的博客https://www.lzmvlog.top/

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 什么是 nodejs
  • 安装nodejs
  • 如何使用node创建hello world?
  • 如何使用nodejs读写文件
  • 使用nodejs创建web服务器
  • 如何根据不同的请求路径返回不同数据
  • 将数据响应到前端
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档