如何用node+express创建简单的服务

来源:互联网 发布:手机电销软件 编辑:程序博客网 时间:2024/06/07 13:23

因为最近的公司的要求,需要自己用node写一个简单的服务,实现读取本地txt,保存数据到本地txt的功能,纠结了好久,网上查了一些资料,总算基本实现了需求。

node的安装过程就不在赘述了。

在本地(我是在d盘)创建一个文件夹(我命名为server),命令行进入这个文件夹,然后

npm init (这个命令会自动创建一个package.json文件),(如有不懂package的同学,请自行去查询相关资料),一路回车。

下一步  安装express依赖

npm install express --save

然后在server文件夹里创建一个txt文本文件,内容自己写

继续,在server文件夹下创建server.js,打开server.js,写入代码

//加载express
var express=require('express');var app=express();
var str="";
var file='save.txt'//设置跨域app.all('*', function(req, res, next) {   res.header("Access-Control-Allow-Origin", "*");   res.header("Access-Control-Allow-Headers", "X-Requested-With");   res.header("Access-Control-Allow-Methods","PUT,POST,GET,DELETE,OPTIONS");   res.header("X-Powered-By",' 3.2.1');   res.header("Content-Type", "application/json;charset=utf-8");   next();});//读取txt文件里的名字var fs=require('fs');var arr=[];var data = fs.readFileSync('name.txt');console.log("同步读取: " + data.toString());console.log(data.toString())var arr=data.toString();console.log("程序执行完毕。");//写个接口getNameapp.get('/getName',function(req,res){res.status(200),res.json(arr)});//保存数据接口app.get('/save',function(req,res){res.status(200),str=JSON.stringify(req.query),console.log("req.body:"+str),writeFile(file)});//配置服务端口var server = app.listen(3000, function () {var host = server.address().address;var port = server.address().port;console.log(host);console.log(port);console.log('Example app listening at http://%s:%s', host, port);})//数据写入文件函数function writeFile(file){fs.appendFile(file,str,function(err){if (err) {console.log("fail"+err);}else{console.log("写入文件ok")}})}
然后在命令行里启动服务

node server.js(要保证命令行已经进入server文件夹)
在浏览器里打开http://localhost:3000/getName

会看到自己txt文本文件里的数据

服务完成,接下来继续前端页面,在server文件夹里新建index.html写入代码

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <meta http-equiv="X-UA-Compatible" content="ie=edge">    <link rel="stylesheet" type="text/css" href="index.css">    <title>抽奖</title></head><body>  <section id="container">      <p id="name"></p>      <section id="list">          <div></div>          <span id="button">读取数据</span>          <span id="button1">保存数据</span>      </section>  </section></body></html><script type="text/javascript" src="jquery-3.1.1.min.js"></script><script type="text/javascript" src="app.js"></script>

再新建app.js,写入代码

//读取按钮var oBtn=document.getElementById('button');//保存数据按钮var oBtn1=document.getElementById('button1');//写一个jsonvar obj={"name":"zhangsan"};//点击开始抽奖var timer;oBtn.onclick=function () {     $.ajax({            type:'get',            url:'http://localhost:3000/getName',            success:function(data){                  arr=data.split('\n');                  console.log("arr:"+arr)            },            error:function(){                console.log('error');            }    })   }function save() {    console.log("保存的数据:"+obj);    $.ajax({        type:"get",        url:"http://localhost:3000/save",        data:obj,        success:function(data){            consol.log(data)        },        error:function(err){            console.log(err);        }    })}oBtn1.onclick=function () {    save();} 

然后,完成工作,现在看server文件夹里会有一个save.txt里面存有obj里的内容,数据格式可以自己处理一下

0 0
原创粉丝点击