node利用express搭建自由路由服务器

本篇文章的代码在: https://github.com/DescLee/NodeServer-v0.0.1.git

1. 按照网上的方法首先创建一个package.json文件,文件内容如下, package.json各个字段含义,可以看这篇文章

{
 "name": "server",
 "description": "the first express server",
 "version": "0.0.1",
 "private": true,
 "dependencies": {
   "express": "4.x"
 }
}

2. 使用以下代码进行express库的安装

npm install

3. 目录下创建index.js作为node服务器主文件,其中routers文件夹下存放路由文件,可以实现对输入地址的判断

// index.js

var express = require("express");
var app = express();

// app.use(express.static(__dirname + ‘/public‘));  // 有这句的话,当输入网址后,首先从public中查看是否有该资源

var routers = require(‘./routers‘)(app); // 如果public中没有的话,则进行路由功能

app.listen(2333);

4. routers文件夹中创建index.js文件来实现路由功能

// router/index.js
var fs = require(‘fs‘);
module.exports = function(app) {
    app.use(‘/‘, function(req, res) {
        // 默认请款下,使用text/html格式
        var type = "text/html";
        var str = req.url;
        var arr = str.split(".");
        // 如果发现是图片则使用图片格式(如果是别的格式可以在这里添加)
        switch(arr[arr.length - 1]){
            case ‘jpg‘:
                type = "image/jpeg";
                break;
            case ‘png‘:
                type = "image/png";
                break;
        }
        // 设置状态码以及MIME类型
        res.writeHeader(200, {"Content-Type": type});

        // 设置原始请求路径
        var path = __dirname + ‘/../..‘+ req.url;

        // 如果请求地址以 / 结尾,则默认在后面加index.html
        if(/\/$/.test(str)){
            path += ‘index.html‘
        }else if(arr.length == 1){
            // 如果没有后缀名且不以/结尾,则加/index.html
            path += ‘/index.html‘;
        }

        var content = ‘‘;
        if (fs.existsSync(path)) {
            // 如果文件存在,则读取
            content = fs.readFileSync(path);
        }else{
            // 文件不存在则读取404.html
            content = fs.readFileSync(__dirname + ‘/../404.html‘)
        }
        res.end(content);
    })
};

// get方法
// use方法
// all方法

5. 返回上一级目录,使用以下代码开启服务器

node index.js &

6. 在与server文件夹同目录下,建立index.html、404.html以及其他html、jpg、png格式的测试文件。

7. 打开浏览器输入以下网址测试成功。

http://localhost:2333
时间: 2024-11-05 23:20:20

node利用express搭建自由路由服务器的相关文章

Hello Node.js之搭建一个web服务器

Node.js简述 Nodejs 是JavaScript运行时,解释器是C/C++写的,基于ChromeV8引擎, 事件驱动,非阻塞I/O模型.本系列目前参考了Node.js官网,慕课网Scott的Node.js基础,<Node即学即用>图灵系列,以及可能的网上公开资源. Nodejs包管理器是npm 包就是别人写好的库. Nodejs提供了fs,http等内置对象,操作磁盘文件.搭建服务器. 特征:单线程.事件驱动.异步非阻塞I/O模型. Node.js安装 官网安装Node.js,自带np

利用express搭建一个restful api 服务器

学习express有几天了,记录一下内容也给入门的兄弟们一点提示. 想要解决的问题: node开发过程中自动重启服务器,无需每次都要运行node index.js启动服务器(nodemon) 使用ES6,ES7 编写代码,自动编译 使用import,export新特性.(babel) 使用express开发RESTFUL API,模块化开发. 学习postman中的提交内容方式. 利用mongoose中间件来实现model层映射. 利用body-parser中间件来实现提交内容解析.(multi

node.js + express搭建服务流程

1. nodejs安装 参考博客: nodejs安装 https://www.jianshu.com/p/d68e461f585c 2.express安装 参考博客: https://www.cnblogs.com/lpxj-blog/p/10651728.html 3.常用npm命令 npm -v   : list version npm init : 初始化 会根据输入信息生成一个描述项目用的json文件, 一路回车键即可 npm  install : 安装初始包 npm install x

Node.js+Express搭建博客系统基本环境安装

1.下载安装node.js 官网下载地址:https://nodejs.org/en/download/ 2.安装express. 打开node命令行工具,在命令行中输入:npm install -g express --save-dev .     按回车开始安装. 安装好后,输入命令express -V 查看安装版本号,记住(-V必须大写). 3.创建工程文件夹  cd...进入桌面,在命令行中输入 express -e node_blog .将创建一个以node_blog命名的文件夹. 打

利用CocoaHttpServer搭建手机本地服务器

原理 使用CocoaHTTPServer框架,在iOS端建立一个本地服务器,只要电脑和手机连入同一热点或者说网络,就可以实现通过电脑浏览器访问iOS服务器的页面,利用POST实现文件的上传. 实现 1.下载CocoaHTTPServer 2.导入CocoaHTTPServer-master目录下的Core文件夹 3.导入Samples/SimpleFileUploadServer目录下的MyHTTPConnection类文件和web文件夹 导入web文件夹的时候,一定要使用真实的目录,而不是xc

利用vultr搭建自己的服务器,附带ss搭建哦!!!

众所周知,我国因为某些原因查阅浏览不到一些国外的资料及内容,这给我们的学习工作带来了很大的不便.所以怎样才能跨越这个障碍呢?这就需要VPS(Virtual Private Server 虚拟专用服务器)的帮助了. 今天给大家推荐的是vultr的VPS,Vultr是一家提供日本.美国.欧洲等多个国家和地区机房的VPS主机商,硬盘都是采用SSD,VPS主机都是KVM架构,VPS配置最少的内存512MB.硬盘为15GB的VPS只要2.5美元/月(2017.3.2修改),vultr是根据时长来扣费的,使

mac os 利用ssh 搭建git server服务器详细教程,以及git基本用法

详细讲mac 连接mac的git操作 首先在服务端上 第一:新建一个仓库 1, cd /Users/userName/projects 用linux命令进入一个你想要创建与他人共享的文件夹. 2,sudo git --bare init 建立一个git仓库. ”git init –bare”方法创建一个所谓的裸仓库,之所以叫裸仓库是因为这个仓库只保存git历史提交的版本信息,而不允许用户在上面进行各种git操作,如果你硬要操作的话,只会得到下面的错误(”This operation must b

window7利用Nexus搭建maven私有服务器

下载地址 https://www.sonatype.com/oss-thank-you-win64.zip: cmd管理员运行命令 nexus.exe/install Nexus Service:(nexus,exe /run) 在windows服务里找到Nexus服务并启动: 访问http://localhost:8081/: Nexus中预留了两个登陆账户,一个是admin,一个是anonymous.admin具有全部权限默认密码admin123:anonymous作为匿名用户,只具有查看权

node、express框架

前面的话 Express是一个简洁.灵活的 node.js Web 应用开发框架, 它提供一系列强大的特性,帮助开发者创建各种 Web 和移动设备应用.本文将详细介绍express框架 概述 官网对Express的描述,它是一个基于 Node.js 平台,快速.开放.极简的 web 开发框架.优点是易上手.高性能.扩展性强 1.易上手:nodejs最初就是为了开发高性能web服务器而被设计出来的,然而相对底层的API会让不少新手望而却步.express对web开发相关的模块进行了适度的封装,屏蔽