直接打开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小时内与您取得联系。