这篇文章主要介绍了nodejs构建本地web测试服务怎么解决访问静态资源问题,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
创新互联拥有网站维护技术和项目管理团队,建立的售前、实施和售后服务体系,为客户提供定制化的网站设计制作、网站设计、网站维护、重庆服务器托管解决方案。为客户网站安全和日常运维提供整体管家式外包优质服务。我们的网站维护服务覆盖集团企业、上市公司、外企网站、商城网站建设、政府网站等各类型客户群体,为全球数千家企业提供全方位网站维护、服务器维护解决方案。一、构建静态服务器
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测试服务怎么解决访问静态资源问题”这篇文章对大家有帮助,同时也希望大家多多支持创新互联建站,关注创新互联网站建设公司行业资讯频道,更多相关知识等着你来学习!
另外有需要云服务器可以了解下创新互联建站www.cdcxhl.com,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。