nodejs构建本地web测试服务怎么解决访问静态资源问题
导读:本文共1956.5字符,通常情况下阅读需要7分钟。同时您也可以点击右侧朗读,来听本文内容。按键盘←(左) →(右) 方向键可以翻页。
摘要: 一、构建静态服务器1、使用express模块建立个js文件,命名server,内容代码如下:varexpress=require('express');varapp=express();varpath=require('path');//指定静态资源访问目录app.use(express.static(require(&... ...
目录
(为您整理了一些要点),点击可以直达。一、构建静态服务器
1、使用express模块
建立个js文件,命名server,内容代码如下:
varexpress=require('express');varapp=express();varpath=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);//修改模板文件的后缀名为htmlapp.set('viewengine','html');//运行ejs模块app.engine('.html',require('ejs').__express);app.get("/",function(req,res){res.render('index');});varserver=app.listen(1336,"127.0.0.1",function(){varhost=server.address().address;varport=server.address().port;console.log("Serverrunningathttp://%s:%s",host,port)});
文件结构如下:
运行的话只要执行:node server.js 就可以了
然后在浏览器输入http://127.0.0.1:1336/ 来访问项目文件夹内的文件了
2、使用connect模块
建立个js文件,命名 server2 ,内容代码如下:
varconnect=require("connect");varserveStatic=require("serve-static");varapp=connect();//app.use(serveStatic("C:\\xxx\\xxx\\xxx\\项目文件夹"));app.use(serveStatic("public"));app.listen(1337);console.log('Serverrunningathttp://127.0.0.1:1337/');
运行的话只要执行:node server2.js 就可以了,
然后在浏览器输入http://127.0.0.1:1337/ 来访问项目文件夹内的文件了。(如果是index.html文件可以省略不写,默认加载的就是这个文件);
3、使用http模块
建立个js文件,命名 server3 ,内容代码如下:
varfinalhandler=require('finalhandler')varhttp=require('http')varserveStatic=require('serve-static')//Serveuppublic/ftpfoldervarserve=serveStatic('public',{'index':['index.html','index.htm']})//Createservervarserver=http.createServer(functiononRequest(req,res){serve(req,res,finalhandler(req,res))})//Listenserver.listen(1338);console.log('Serverrunningathttp://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 ,就能找到对应的说明了。
</div> <div class="zixun-tj-product adv-bottom"></div> </div> </div> <div class="prve-next-news">
nodejs构建本地web测试服务怎么解决访问静态资源问题的详细内容,希望对您有所帮助,信息来源于网络。