全网整合营销服务商

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

免费咨询热线: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 


相关文章: 建站org新手必看:2024最新搭建流程与模板选择技巧  建站168自助建站系统:快速模板定制与SEO优化指南  网站专业制作公司有哪些,做一个公司网站要多少钱?  青岛网站设计制作公司,查询青岛招聘信息的网站有哪些?  网站视频怎么制作,哪个网站可以免费收看好莱坞经典大片?  建站之星Pro快速搭建教程:模板选择与功能配置指南  网站制作难吗安全吗,做一个网站需要多久时间?  如何在宝塔面板中修改默认建站目录?  济南网站制作的价格,历城一职专官方网站?  名字制作网站免费,所有小说网站的名字?  可靠的网站设计制作软件,做网站设计需要什么样的电脑配置?  C#如何使用XPathNavigator高效查询XML  小视频制作网站有哪些,有什么看国内小视频的网站,求推荐?  建站之星IIS配置教程:代码生成技巧与站点搭建指南  XML的“混合内容”是什么 怎么用DTD或XSD定义  如何在香港免费服务器上快速搭建网站?  javascript中的try catch异常捕获机制用法分析  如何通过虚拟主机空间快速建站?  独立制作一个网站多少钱,建立网站需要花多少钱?  武汉外贸网站制作公司,现在武汉外贸前景怎么样啊?  建站VPS能否同时实现高效与安全翻墙?  定制建站如何定义?其核心优势是什么?  金*站制作公司有哪些,金华教育集团官网?  已有域名和空间,如何快速搭建网站?  建站之星安装后如何自定义网站颜色与字体?  正规网站制作公司有哪些,目前国内哪家网页网站制作设计公司比较专业靠谱?口碑好?  在线ppt制作网站有哪些软件,如何把网页的内容做成ppt?  如何通过虚拟主机快速搭建个人网站?  定制建站方案优化指南:企业官网开发与建站费用解析  如何快速完成中国万网建站详细流程?  如何在云虚拟主机上快速搭建个人网站?  高防网站服务器:DDoS防御与BGP线路的AI智能防护方案  湖州网站制作公司有哪些,浙江中蓝新能源公司官网?  定制建站价位费用解析与套餐推荐全攻略  如何获取PHP WAP自助建站系统源码?  建站之星安装步骤有哪些常见问题?  宝盒自助建站智能生成技巧:SEO优化与关键词设置指南  建站之星如何开启自定义404页面避免用户流失?  广德云建站网站建设方案与建站流程优化指南  如何自定义建站之星模板颜色并下载新样式?  魔方云NAT建站如何实现端口转发?  IOS倒计时设置UIButton标题title的抖动问题  电脑免费海报制作网站推荐,招聘海报哪个网站多?  佛山网站制作系统,佛山企业变更地址网上办理步骤?  网站制作壁纸教程视频,电脑壁纸网站?  电视网站制作tvbox接口,云海电视怎样自定义添加电视源?  制作电商网页,电商供应链怎么做?  宝塔建站教程:一键部署配置流程与SEO优化实战指南  攀枝花网站建设,攀枝花营业执照网上怎么年审?  制作网站的基本流程,设计网站的软件是什么? 

您的项目需求

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