源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

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

  • 时间:2022-11-28 01:27 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:nodejs构建本地web测试服务器 如何解决访问静态资源问题
直接打开html文件,是以file:///方式打开的,这种方式很多时候会遇到跨域的问题,因此我们一般会搭建一个简易的本地服务器,来运行测试页面。 [b]一、构建静态服务器[/b] 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)
});

文件结构如下: [img]http://files.jb51.net/file_images/article/201707/2017071409573716.png[/img] 运行的话只要执行: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/ 来访问项目文件夹内的文件了。 注:总的文件目录如下: [img]http://files.jb51.net/file_images/article/201707/2017071409573717.png[/img] 源码下载地址:[url=https://github.com/arvin0/nodejs-example/tree/master/web-static-test-server]https://github.com/arvin0/nodejs-example/tree/master/web-static-test-server[/url] 二、解决访问静态资源 主要使用两个模块 1.通用的 [b]serve-static [/b]模块 详细文档:[url=https://github.com/expressjs/serve-static]https://github.com/expressjs/serve-static[/url] 2.express专属的 [b]app.use(express.static(require('path').join(__dirname, 'public')));  [/b]方法 详细文档:[url=http://expressjs.com/en/4x/api.html]http://expressjs.com/en/4x/api.html[/url] ,然后ctrl+F搜索 express.static ,就能找到对应的说明了。 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程素材网。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部