nodejs虚拟服务器,NodeJs本地搭建服务器,模拟接口请求,获取json数据

引言:

不知道你在项目开发过程中,有没有遇到过有过以下场景:

一般是前端先制作静态页面,同时服务器端创建数据库,搭服务器端架构,写接口;

当接口写完之后,前端或者后端才能嵌套页面。

但是,如果前端页面制作好了,后端接口还没有写好呢?或者如何让前端、后端各自做各自的事情,互相不影响?

能做到下面这样是不是很好呢?

——在进行完需求分析和详细设计后,前端、后端一同商量、制作出一份接口文档

(其中接口名、参数、返回值名称、返回值类型都定义好)

前端页面制作好之后,直接模拟出该接口的json文件,先去请求该文件,把页面绑定、业务逻辑都处理好。

等前端全部绑定好,同时后端接口写好后,我们只需要前端修改接口地址,其他不用做任何修改。

这样,是不是前端不用等后端接口全部写完才能开始剩下的工作。

1.创建一个最简单的项目

安装nodejs

新建一个文件夹,进入目录

mkdir express

接下来安装 Express

npm install -g express-generator@4

创建一个工程

express helloworld

现在在express文件夹下就出现了helloworld项目

安装依赖

cd helloworld

npm install

备注:执行npm install命令会将package.json文件中 dependencies 依赖列表中,

即可自动安装依赖列表中所列出的所有模块。

开启服务

执行npm start命令

这样就可以在浏览器访问

http://localhost:3000/

下面是浏览器中显示的内容

80307e1a86ff

pic1.png

2.为什么浏览器中出现的内容是这样的呢?

首先我们打开app.js,然后可以找到这句话

app.use('/', routes);

然后我们再看routes是什么,就可以往上找,找到

var routes = require('./routes/index');

顺着这个,我们打开routes文件夹下的index.js文件,看看里面究竟写的是什么

var express = require('express');

var router = express.Router();

/* GET home page. */

router.get('/', function(req, res, next) {

res.render('index', { title: 'Express' });

});

module.exports = router;

原来框架是找到views文件夹下的index.jade文件渲染到前台页面

index.jade

extends layout

block content

h1= title

p Welcome to #{title}

这里我们先不用管 模板引擎 的语法,试着修改修改index.js文件的内容,将title改为Hello world.

var express = require('express');

var router = express.Router();

/* GET home page. */

router.get('/', function(req, res, next) {

res.render('index', { title: 'Hello world.' });

});

module.exports = router;

在命令行中,按ctrl+c关闭服务,重新执行npm start,看界面中的结果

80307e1a86ff

pic2.png

是不是很简单。

3.看到这里,可能有个疑问,我们怎么访问静态的html呢?

很简单,下面一步步说来:

首先,我们看app.js中有没有这句话

app.use(express.static(path.join(__dirname, 'public')));

有的话,则直接看下一步,没有就在app.js中添加这句话,记得添加后重启服务

接着,我们在项目的public文件夹下,新建一个html文件下(便于后期管理所有的静态页面),然后新建index.html,内容如下:

demo

Hello world.

这样在浏览器中输入下面的地址,就可以访问了。

http://localhost:3000/html/index.html

4.我们现在做到了能访问一个html文件,那我们如何模拟ajax请求,读取json文件中的内容,提前绑定页面呢?(不依赖后端接口写好)

为了方便项目管理,我们新建几个文件夹和对应的文件

json文件夹及其对应的index.json文件

在javascripts文件夹下新建index.js

index.json

{

"code":"200",

"msg":"success"

}

index.js

fetch("../json/index.json").then(function(res) {

if (res.ok) {

res.json().then(function(data) {

console.log(data);

});

} else {

console.log("Looks like the response wasn't perfect, got status", res.status);

}

}, function(e) {

console.log("Fetch failed!", e);

});

在index.html中引入对应的文件

demo

Hello world.

80307e1a86ff

pic3.png

5.最后附上项目结构

80307e1a86ff

pic4.png

有关fetch的用法,可以查看GitHub上的 这个项目。

快动手尝试一下吧,以后前端开发再也不用等服务器端框架搭好,接口写好了。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用Node.js搭建本地服务器非常简单。首先,我们需要安装Node.js。 安装完成后,打开终端(或命令行窗口),进入想要搭建服务器的文件夹。 创建一个新的Node.js文件,命名为server.js(或其他任何你喜欢的名称),然后将以下代码复制到该文件中: ```javascript const http = require('http'); const fs = require('fs'); const path = require('path'); const server = http.createServer((req, res) => { let filePath = path.join(__dirname, req.url); let contentType = 'text/html'; fs.exists(filePath, (exists) => { if (exists) { fs.readFile(filePath, (error, content) => { if (error) { res.writeHead(500); res.end('Server Error'); } else { res.writeHead(200, { 'Content-Type': contentType }); res.end(content, 'utf-8'); } }); } else { res.writeHead(404); res.end('File Not Found'); } }); }); server.listen(3000, () => { console.log('Server running at http://localhost:3000/'); }); ``` 上述代码使用了Node.js的HTTP、FS和Path模块。server.js文件创建了一个HTTP服务器。当有请求发送到服务器时,它会检查请求的URL地址是否是文件路径,并将请求的文件作为响应发回给客户端。 在终端中运行以下命令启动服务器: ``` node server.js ``` 这将在本地启动一个HTTP服务器,监听在3000端口上。你可以通过浏览器访问http://localhost:3000/ 来访问该服务器。 请注意,在代码中,`contentType`变量默认设置为'text/html',这意味着服务器会将所有请求的文件作为HTML文件返回。你也可以根据需要更改它,例如如果你想返回CSS文件,可以将其设置为'text/css'。 以上就是使用Node.js搭建本地服务器并访问文件的简单过程。希望对你有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值