用node.js搭建本地服务器

2023-05-16

参考文章:3分钟快速搭建nodejs本地服务器运行测试html/js

首先确认你已经安装了node.js,没有的话请先下载安装 node.js

第1步:在你的项目文件夹的根目录里新建 http.js 文件,内容如下

var PORT = 3000;//

var http = require('http');
var url = require('url');
var fs = require('fs');
var mine = require('./mine').types; //设置正确的资源类型
var path = require('path');

var server = http.createServer(function (request, response) {
    var pathname = url.parse(request.url).pathname;
    var realPath = path.join("page", pathname);    //这里设置自己的文件夹名称;

    var ext = path.extname(realPath);
    ext = ext ? ext.slice(1) : 'unknown';
    fs.exists(realPath, function (exists) {
        if (!exists) {
            response.writeHead(404, {
                'Content-Type': 'text/plain'
            });

            response.write("This request URL " + pathname + " was not found on this server.");
            response.end();
        } else {
            fs.readFile(realPath, "binary", function (err, file) {
                if (err) {
                    response.writeHead(500, {
                        'Content-Type': 'text/plain'
                    });
                    response.end(err);
                } else {
                	// 这里很重要,你的各种资源一定要设置对应的 MIME 类型(这里使用单独的mine文件)
                    var contentType = mine[ext] || "text/plain";
                    response.writeHead(200, {
                        'Content-Type': contentType
                    });
                    response.write(file, "binary");
                    response.end();
                }
            });
        }
    });
});
server.listen(PORT);
console.log("Server runing at port: " + PORT + ".");

第2步,新建一个资源类型文件,用来返回正确的content-type

exports.types = {
    "css": "text/css",
    "gif": "image/gif",
    "html": "text/html",
    "ico": "image/x-icon",
    "jpeg": "image/jpeg",
    "jpg": "image/jpeg",
    "js": "text/javascript",
    "json": "application/json",
    "pdf": "application/pdf",
    "png": "image/png",
    "svg": "image/svg+xml",
    "swf": "application/x-shockwave-flash",
    "tiff": "image/tiff",
    "txt": "text/plain",
    "wav": "audio/x-wav",
    "wma": "audio/x-ms-wma",
    "wmv": "video/x-ms-wmv",
    "xml": "text/xml"
  };
  

第3步,确认你的页面以及资源文件放入了正确的文件夹

上面的http.js里面写了 “page” 作为网页存放目录,所以要把你的index.html等文件都放入 “page” 文件夹内

第4步, 在你的项目根目录下启动控制台(git bash),输入启动命令后,打开浏览器输入控制台打印出来的地址即可访问 (http://localhost:3000/index.html)

node http.js

一般是在浏览器里输入:

http://localhost:3000/index.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

用node.js搭建本地服务器 的相关文章

  • Chromium revision is not downloaded. Run "npm install"

    在使用依赖puppeteer的组件com时 使用npm install 安装组件 报错 Chromium revision is not downloaded Run npm install 解决思路 1 先安装 puppeteer 2 删
  • egg:Error: controller not exists

    前言 在学习和运用node的egg时的报错信息记录 报错 解决办法 确定router js里面的路由和自己写的Controller相匹配 确定你在controller最后一行写了module exports 个人问题 router js里面
  • Node.js中的断言处理

    在Node js中 可以利用assert模块进行断言处理 即书写一些判断用测试代码 如果判断结果为假 则抛出AssertionError异常 判断两个值是否相等 assert equal actual expected message ac
  • ERR_PNPM_PEER_DEP_ISSUES Unmet peer dependencies

    ERR PNPM PEER DEP ISSUES 错误 两种解决方式 解决方式 方式一 忽略错误 项目根目录下 npmrc 中添加 strict peer dependencies false 方式二 自动安装对等依赖 项目根目录下 npm
  • npm离线安装全局包,内网安装npm中的包

    我是刚学习基于node环境下开发angularjs2 遇到内网环境下发布应用的问题 因为我是基于angular cli平台开发的 我的内网环境需要安装angular cli 才能使用ng命令 然后我的解决方案是 找到一台已经安装好此包的机器
  • Node处理csv文件(利用csv-parse读取指定字符串内的文件片段)

    需求 读取一个csv文件 需要从指定字符串开始读取至指定字符串结束 由于csv文件可能使用不同环境打开编辑过 末尾包含很多多余的分隔逗号 去除这些逗号 使用 Stream const parse require csv parse cons
  • node接收文件

    目录 html nodejs详细实现 nodejs简单实现 html
  • node.js和npm的关系

    一 npm是什么 当一个网站依赖的js代码越来越多 程序员发现这是一件很麻烦的事情 去 jQuery 官网下载 jQuery 去 BootStrap 官网下载 BootStrap 去 Underscore 官网下载 Underscore 有
  • mongodb 关于 整数类型 和 字符串类型 索引的比较

    想看看到底是 整数类型的索引快呢 还是字符串类型的索引快 到底快多少呢 内存分别占多少呢 今天就来测试一下 配置 华硕飞行堡垒6 500G 的 SSD 准备数据 a 是 for 循环的变量 id a name abcdefg a 2千万的数
  • Windows NodeJS 二进制文件安装

    第一步下载node下载 Node js 中文网 本人系统Win10 X64 如图 将下载的zip包解压到你自定义的目录 尽量不要有空格或中文 你懂的 作者选择了d盘下自定义目录D datastorage下 解压后的文件目录如图所示 在此目录
  • Node之在多个子进程中运行Node.js应用程序

    引 一个Node js应用程序只能使用在一个线程中 最近 为了充分发挥多核CPU的优势 Node js中提供了一个cluster模块 允许在多个子进程中运行不同的Node js应用程序 使用fork方法创建worker对象 在cluster
  • Node.js 从零开发 web server博客项目[koa2重构博客项目]

    web server博客项目 Node js 从零开发 web server博客项目 项目介绍 Node js 从零开发 web server博客项目 接口 Node js 从零开发 web server博客项目 数据存储 Node js
  • nodejs 控制台美化 console-color-mr

    console color mr插件可以让node控制台输出带有颜色 是一个不错的插件 通过颜色可以更直观的分析程序bug 一 使用 npm install D console color mr 方法一 import console col
  • npm、yarn、pnpm如何清除缓存?

    前端工程化创建项目会经常使用各种安装包管理工具 安装各种前端依赖包 例如 npm yarn pnpm等 时间一长 各种安装包管理工具的在安装依赖时 留下的缓存文件就会变得很大 以至于影响系统的运行 因此必要时清除缓存就是一个不错的选择 本文
  • 解决多个Tabs频繁切换造成数据错乱问题的方案

    一 利用axios的cancelToken import post from util ajax import axios from axios const CancelToken axios CancelToken post let ca
  • 使用Koa2进行Web开发(二)静态文件与路由

    静态文件处理 这里选择koa static作为处理静态文件的中间件 const Koa require koa const app new Koa const serve require koa static app use serve d
  • 自己封装一个类express路由框架

    今天用了Node封装一个简单的类似express框架的路由 首先先看看 没封装 之前的server路由代码 const http require http const url require url const ejs require ej
  • Node.js爬虫实战:搜狗图片爬取

    说在前面 当我们在网上寻找图片时 经常会遇到需要批量下载搜索结果中的图片的情况 而搜狗作为中国颇具影响力的搜索引擎之一 其图片搜索功能提供了丰富多样的图片资源 在这种情况下 我们希望能够通过编程的方式 批量下载搜狗图片搜索结果中的图片 以便
  • Node.js爬虫实战:百度图片爬取

    说在前面 网络爬虫是一种自动化工具 能够模拟人类在互联网上浏览和提取信息的行为 它的应用范围广泛 包括数据采集 信息监控 搜索引擎优化等方面 而在数据抓取和处理中 获取图片资源往往是一个常见的需求 本文将介绍如何使用Node js和相关库构
  • Node.js 工作线程与子进程:应该使用哪一个

    Node js 工作线程与子进程 应该使用哪一个 并行处理在计算密集型应用程序中起着至关重要的作用 例如 考虑一个确定给定数字是否为素数的应用程序 如果我们熟悉素数 我们就会知道必须从 1 遍历到该数的平方根才能确定它是否是素数 而这通常非

随机推荐