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如何配置.env文件管理环境变量_Laravel环境变量使用与安全管理
laravel怎么为应用开启和关闭维护模式_laravel应用维护模式开启与关闭方法
Laravel如何使用集合(Collections)进行数据处理_Laravel Collection常用方法与技巧
,在苏州找工作,上哪个网站比较好?
如何在腾讯云服务器上快速搭建个人网站?
为什么要用作用域操作符_php中访问类常量与静态属性的优势【解答】
Laravel如何使用Gate和Policy进行授权?(权限控制)
Laravel如何安装使用Debugbar工具栏_Laravel性能调试与SQL监控插件【步骤】
Python文件操作最佳实践_稳定性说明【指导】
广州网站制作公司哪家好一点,广州欧莱雅百库网络科技有限公司官网?
Laravel如何配置Horizon来管理队列?(安装和使用)
Laravel如何实现API速率限制?(Rate Limiting教程)
网易LOFTER官网链接 老福特网页版登录地址
英语简历制作免费网站推荐,如何将简历翻译成英文?
如何快速完成中国万网建站详细流程?
高防服务器租用首荐平台,企业级优惠套餐快速部署
PHP 实现电台节目表的智能时间匹配与今日/明日轮播逻辑
高性能网站服务器部署指南:稳定运行与安全配置优化方案
Windows11怎样设置电源计划_Windows11电源计划调整攻略【指南】
php json中文编码为null的解决办法
如何快速重置建站主机并恢复默认配置?
软银砸40亿美元收购DigitalBridge 强化AI资料中心布局
如何制作公司的网站链接,公司想做一个网站,一般需要花多少钱?
Laravel中DTO是什么概念_在Laravel项目中使用数据传输对象(DTO)
香港服务器网站搭建教程-电商部署、配置优化与安全稳定指南
UC浏览器如何切换小说阅读源_UC浏览器阅读源切换【方法】
javascript中闭包概念与用法深入理解
Android实现代码画虚线边框背景效果
javascript中的数组方法有哪些_如何利用数组方法简化数据处理
制作无缝贴图网站有哪些,3dmax无缝贴图怎么调?
如何在IIS中新建站点并解决端口绑定冲突?
JavaScript数据类型有哪些_如何准确判断一个变量的类型
怎样使用JSON进行数据交换_它有什么限制
MySQL查询结果复制到新表的方法(更新、插入)
Linux系统命令中tree命令详解
Laravel storage目录权限问题_Laravel文件写入权限设置
如何在云主机上快速搭建网站?
进行网站优化必须要坚持的四大原则
实例解析angularjs的filter过滤器
Laravel如何清理系统缓存命令_Laravel清除路由配置及视图缓存的方法【总结】
微信小程序 五星评分(包括半颗星评分)实例代码
三星、SK海力士获美批准:可向中国出口芯片制造设备
Laravel API资源(Resource)怎么用_格式化Laravel API响应的最佳实践
企业在线网站设计制作流程,想建设一个属于自己的企业网站,该如何去做?
Laravel的.env文件有什么用_Laravel环境变量配置与管理详解
Laravel怎么上传文件_Laravel图片上传及存储配置
微信h5制作网站有哪些,免费微信H5页面制作工具?
Win11怎么关闭资讯和兴趣_Windows11任务栏设置隐藏小组件
Laravel怎么实现一对多关联查询_Laravel Eloquent模型关系定义与预加载【实战】
Laravel如何将应用部署到生产服务器_Laravel生产环境部署流程

