全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

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

直接打开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 


相关文章: 网页设计与网站制作内容,怎样注册网站?  高防服务器如何保障网站安全无虞?  如何用y主机助手快速搭建网站?  IOS倒计时设置UIButton标题title的抖动问题  如何使用Golang table-driven基准测试_多组数据测量函数效率  如何快速建站并高效导出源代码?  如何在阿里云虚拟服务器快速搭建网站?  如何在宝塔面板中创建新站点?  制作假网页,招聘网的薪资待遇,会有靠谱的吗?一面试又各种折扣?  建站IDE高效指南:快速搭建+SEO优化+自适应模板全解析  专业公司网站制作公司,用什么语言做企业网站比较好?  如何快速搭建高效香港服务器网站?  教学论文网站制作软件有哪些,写论文用什么软件 ?  建站之星如何修改网站生成路径?  临沂网站制作企业,临沂第三中学官方网站?  广东专业制作网站有哪些,广东省能源集团有限公司官网?  如何破解联通资金短缺导致的基站建设难题?  如何续费美橙建站之星域名及服务?  C++如何编写函数模板?(泛型编程入门)  建站之星代理如何优化在线客服效率?  自助网站制作软件,个人如何自助建网站?  简历在线制作网站免费,免费下载个人简历的网站是哪些?  如何在局域网内绑定自建网站域名?  建站之星伪静态规则如何正确配置?  如何通过NAT技术实现内网高效建站?  *服务器网站为何频现安全漏洞?  PHP正则匹配日期和时间(时间戳转换)的实例代码  沈阳制作网站公司排名,沈阳装饰协会官方网站?  c++怎么编写动态链接库dll_c++ __declspec(dllexport)导出与调用【方法】  音响网站制作视频教程,隆霸音响官方网站?  如何通过FTP空间快速搭建安全高效网站?  香港服务器网站搭建教程-电商部署、配置优化与安全稳定指南  linux top下的 minerd 木马清除方法  南京做网站制作公司,南京哈发网络有限公司,公司怎么样,做网页美工DIV+CSS待遇怎么样?  高防服务器租用指南:配置选择与快速部署攻略  ,怎么在广州志愿者网站注册?  专业网站制作企业网站,如何制作一个企业网站,建设网站的基本步骤有哪些?  青岛网站建设如何选择本地服务器?  如何设计高效校园网站?  Python如何创建带属性的XML节点  网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?  Python路径拼接规范_跨平台处理说明【指导】  网页制作模板网站推荐,网页设计海报之类的素材哪里好?  c++如何打印函数堆栈信息_c++ backtrace函数与符号名解析【方法】  官网网站制作腾讯审核要多久,联想路由器newifi官网  非常酷的网站设计制作软件,酷培ai教育官方网站?  如何在腾讯云免费申请建站?  电商网站制作价格怎么算,网上拍卖流程以及规则?  如何基于云服务器快速搭建个人网站?  新网站制作渠道有哪些,跪求一个无线渠道比较强的小说网站,我要发表小说? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。