Node.js入门

1 篇文章 0 订阅
0 篇文章 0 订阅

PS:适合与本人一样有C++/C#编程经验的人学习Node.js

and 本人使用vs2017运行node,毕竟有着那么好的IDE不用太浪费;

学习第一天:了解一下与C#的差异以及 helloworld

插播一个链接 node入门

我们看一下怎么调用其他文件:

var server = require("./server");

我的理解,使用require这个函数,返回函数参数文件的一个对象,参数是路径

使用一个包

import http = require('http');

对了,还是使用require,但是变量类型为import,实测调用包的时候使用var不行

关于require的解读

路由

我理解其实就是一个web服务器,有N多个网页,类似文件夹中有文件夹一样,使用形式也是一样用"/"或"//"分级,输入的网址访问哪一个网页就像你在我的电脑里输入一个路径,它会跳转到一个文件夹内,道理是一样的。

node识别路由的做法

不知道方法有多少,反正初学的话,知道一种即可

方法:

1.我们需要一个包“url”,这个包用来解析服务器接受到路径;

2.我们需要知道node里面的字典,类似于C#字典,区别是node字典的健值可以是函数,其实也很好理解,毕竟C#中我可没听说把方法作为对象的做法;

3.解析服务器接受的路径,执行相应的函数即可

code

server.ts

import http = require('http');
import URL = require("url");//调用包

var Myurl = require("./TestUrl_01");//调用“TestUrl_01”的ts文件

var Handle = {};//声明一个字典
Handle["/01"] = Myurl.Web01;//给字典调价键和健值,这里健值是一个方法
Handle["/02"] = Myurl.Web02;

function Start() {
    //一个标准的helloworld服务器
    var port = process.env.port || 1337
    http.createServer(function (req, res) {
        var path = URL.parse(req.url).pathname;//解析路径
        router(path, res);//自定义的一个方法

        res.writeHead(200, { 'Content-Type': 'text/plain' });
        res.end('Hello World\n');
    }).listen(port);
}

function router(path, responsed) {
    //判断以该路径为主键的健值是否存在,更准确的说是判断该主键的健值是不是一个“function”
    if (typeof Handle[path] === "function")
    {
        Handle[path](responsed);
    }
}

exports.start = Start;//导出一个方法

 index.ts

var sever = require("./server");

sever.start();

TestUrl_01.ts

function TestWeb01(resposed)
{
    console.log("Server Request URL:TestWeb01");
    resposed.end("Server Request URL:TestWeb01");
}
function TestWeb02(resposed)
{
    console.log("Server Request URL:TestWeb02");
    resposed.end("Server Request URL:TestWeb02");
}
exports.Web01 = TestWeb01;
exports.Web02 = TestWeb02;

注意事项:我使用的是vs2017学习node,测试上面代码的使用,我在npm上下载了一个包:url@0.11.0

结果:

以index.ts为启动文件,启动项目;

输入地址:http://localhost:1337

输入路径:http://localhost:1337/01

输入路径: http://localhost:1337/02

本章到此结束,主要是对node服务器做最简单的了解;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值