nodejs构建本地web测试服务器 如何解决访问静态资源问题

发布时间 - 2026-01-11 02:20:04    点击率:

直接打开html文件,是以file:///方式打开的,这种方式很多时候会遇到跨域的问题,因此我们一般会搭建一个简易的本地服务器,来运行测试页面。

一、构建静态服务器

1、使用express模块

建立个js文件,命名server,内容代码如下:

var express = require('express');
var app = express();
var path = require('path');

//指定静态资源访问目录
app.use(express.static(require('path').join(__dirname, 'public')));
// app.use(express.static(require('path').join(__dirname, 'views'))); 如果有文件夹存放资源,出现报错的话,那就多use几次就可以了
// 设定views变量,意为视图存放的目录
app.set('views', (__dirname + "/public"));
// app.set('views', __dirname);
// 修改模板文件的后缀名为html
app.set( 'view engine', 'html' );
// 运行ejs模块
app.engine( '.html', require( 'ejs' ).__express );

app.get("/", function(req, res) {
  res.render('index');
});

var server = app.listen(1336, "127.0.0.1",function(){
  var host = server.address().address;
  var port = server.address().port;
  console.log("Server running at http://%s:%s", host, port)
});

文件结构如下:

运行的话只要执行:node server.js 就可以了

然后在浏览器输入http://127.0.0.1:1336/ 来访问项目文件夹内的文件了

2、使用connect模块

建立个js文件,命名 server2 ,内容代码如下:

 var connect = require("connect");
 var serveStatic = require("serve-static");

 var app = connect();
 // app.use(serveStatic("C:\\xxx\\xxx\\xxx\\项目文件夹"));
 app.use(serveStatic("public"));

 app.listen(1337);
 console.log('Server running at http://127.0.0.1:1337/');

运行的话只要执行:node server2.js 就可以了,

然后在浏览器输入http://127.0.0.1:1337/ 来访问项目文件夹内的文件了。(如果是index.html文件可以省略不写,默认加载的就是这个文件);

3、使用http模块

建立个js文件,命名 server3 ,内容代码如下:

var finalhandler = require('finalhandler')
var http = require('http')
var serveStatic = require('serve-static')

// Serve up public/ftp folder
var serve = serveStatic('public', {'index': ['index.html', 'index.htm']})

// Create server
var server = http.createServer(function onRequest (req, res) {
  serve(req, res, finalhandler(req, res))
})

// Listen
server.listen(1338);
console.log('Server running at http://127.0.0.1:1338/');

运行的话只要执行:node server3.js 就可以了,

然后在浏览器输入http://127.0.0.1:1338/ 来访问项目文件夹内的文件了。

注:总的文件目录如下:

源码下载地址:https://github.com/arvin0/nodejs-example/tree/master/web-static-test-server

二、解决访问静态资源

主要使用两个模块

1.通用的 serve-static 模块

详细文档:https://github.com/expressjs/serve-static

2.express专属的  app.use(express.static(require('path').join(__dirname, 'public')));  方法

详细文档:http://expressjs.com/en/4x/api.html ,然后ctrl+F搜索 express.static ,就能找到对应的说明了。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# nodejs  # web  # 服务器  # nodejs express配置自签名https服务器的方法  # 深入理解nodejs搭建静态服务器(实现命令行)  # 用Nodejs搭建服务器访问html、css、JS等静态资源文件  # 在windows上用nodejs搭建静态文件服务器的简单方法  # Nodejs实现的一个静态服务器实例  # 使用nodejs、Python写的一个简易HTTP静态文件服务器  # nodejs发布静态https服务器的方法  # 就可以  # 来访问  # 文档  # 就能  # 的说  # 下载地址  # 几次  # 报错  # 就多  # 大家多多  # 意为  # 不写  # 加载  # listen  # __express  # set  # function  # render  # res  # req 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel如何处理CORS跨域问题_Laravel项目CORS配置与解决方案  laravel怎么在请求结束后执行任务(Terminable Middleware)_laravel Terminable Middleware请求结束任务执行方法  高端建站三要素:定制模板、企业官网与响应式设计优化  如何快速辨别茅台真假?关键步骤解析  JavaScript中如何操作剪贴板_ClipboardAPI怎么用  如何在阿里云香港服务器快速搭建网站?  Laravel怎么做缓存_Laravel Cache系统提升应用速度的策略与技巧  Laravel路由Route怎么设置_Laravel基础路由定义与参数传递规则【详解】  Laravel软删除怎么实现_Laravel Eloquent SoftDeletes功能使用教程  如何用AWS免费套餐快速搭建高效网站?  教你用AI将一段旋律扩展成一首完整的曲子  惠州网站建设制作推广,惠州市华视达文化传媒有限公司怎么样?  免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?  网站建设保证美观性,需要考虑的几点问题!  高配服务器限时抢购:企业级配置与回收服务一站式优惠方案  装修招标网站设计制作流程,装修招标流程?  大连网站制作公司哪家好一点,大连买房网站哪个好?  Java垃圾回收器的方法和原理总结  详解一款开源免费的.NET文档操作组件DocX(.NET组件介绍之一)  php做exe能调用系统命令吗_执行cmd指令实现方式【详解】  Laravel Debugbar怎么安装_Laravel调试工具栏配置指南  Laravel Eloquent性能优化技巧_Laravel N+1查询问题解决  如何续费美橙建站之星域名及服务?  Laravel怎么使用artisan命令缓存配置和视图  佛山企业网站制作公司有哪些,沟通100网上服务官网?  高性价比服务器租赁——企业级配置与24小时运维服务  Laravel如何处理JSON字段的查询和更新_Laravel JSON列操作与查询技巧  网站制作企业,网站的banner和导航栏是指什么?  JavaScript常见的五种数组去重的方式  黑客如何利用漏洞与弱口令入侵网站服务器?  如何在阿里云部署织梦网站?  Internet Explorer官网直接进入 IE浏览器在线体验版网址  关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)  网站页面设计需要考虑到这些问题  Swift中switch语句区间和元组模式匹配  Laravel如何实现多级无限分类_Laravel递归模型关联与树状数据输出【方法】  Laravel用户密码怎么加密_Laravel Hash门面使用教程  如何用狗爹虚拟主机快速搭建网站?  Laravel怎么调用外部API_Laravel Http Client客户端使用  Laravel怎么实现前端Toast弹窗提示_Laravel Session闪存数据Flash传递给前端【方法】  Laravel表单请求验证类怎么用_Laravel Form Request分离验证逻辑教程  如何在阿里云通过域名搭建网站?  Laravel Eloquent:优雅地将关联模型字段扁平化到主模型中  Laravel队列由Redis驱动怎么配置_Laravel Redis队列使用教程  SQL查询语句优化的实用方法总结  制作企业网站建设方案,怎样建设一个公司网站?  公司门户网站制作公司有哪些,怎样使用wordpress制作一个企业网站?  如何快速搭建高效香港服务器网站?  1688铺货到淘宝怎么操作 1688一键铺货到自己店铺详细步骤  高防服务器租用如何选择配置与防御等级?