体验node Koa2中的封装
来源:互联网 发布:淘宝写论文查重靠谱吗 编辑:程序博客网 时间:2024/06/18 10:10
基于大神的一个已有node服务器(读者难以重现),体验使用Koa2的封装,封装写文件js.writeFile()方法。本文进行过程回顾。使用MacOS。
安装node、Koa2
node.js官网:https://nodejs.org/en/download/
升级npm: sudo npm install npm -g
安装n: npm install -g n
升级node.js版本: n stable
安装cnpm(非必需): npm install -g cnpm --registry=https://registry.npm.taobao.org
安装必需的程序包: npm install -g koa@next --save
等等。
安装好模块后,还需要配置环境变量:
1 配置环境变量 vi ~/.profile
2 加入一行 export NODE_PATH=/usr/local/lib/node_modules
因为安装时,用了-g
全局路径下安装,所以用/usr/local
2 让配置文件生效 source ~/.profile
备注:在Mac使用npm全局安装node_modules看到,应该是别人使用了bash,所以命令不同
开始封装
fs是node自带的模块
这里封装fs.writeFile()写文件的方法。该方法的参数要自行查看node文档。
fileRead.js 文件:
var fs = require("fs")exports.writeFile = async function (filename, writeText) { let data = await writeFileData(filename, writeText) return data}function writeFileData(filename, writeText) { return new Promise((resolve, reject) => { fs.writeFile(filename, writeText, function (err) { if(err){ console.log('出现错误!'); reject("error") }else{ console.log('写文件结束'); resolve('ok') } }); });}
testapi.js 文件:
//加载koa-router模块var router = require('koa-router')();const bodyParser = require('koa-bodyparser')//加载fileRead.jsconst fireControl = require('../util/fileRead')router.use(bodyParser())router.get('/writeTest', async(ctx)=>{ let url = ctx.url let getData = await fireControl.writeFile("message.txt","1234"); console.log(getData) ctx.body = getData})module.exports = router
index.js设置访问路径:
var router = require('koa-router')();var serve = require("koa-static");var views = require('koa-views')var path = require('path')var testapi = require('./testapi')//加载testapi.jsrouter.use(views(path.join(__dirname, '../view'), { extension: 'ejs'}))console.log('__dirname = ' + __dirname);//会在命令行控制台输出index.js的路径router.use(serve("*省略*/node/koa/static/html",{ extensions: ['html']}));router.use('/admin/api',testapi.routes(),testapi.allowedMethods())module.exports = router;
写完后,启动node服务器node main.js
比如main.js监听的是3000端口。
在浏览器输入localhost:3000/admin/api/writeTest
写入文件成功,则在页面显示ok
,不成功显示error
- 体验node Koa2中的封装
- Node — Koa2
- node.js之快速搭建koa2项目
- node koa2图片上传的实现
- node,express,koa,koa2跨域问题
- 使用Node+Koa2+Mysql搭建简易博客
- node.js之koa2快速项目目录分析
- 最新阿里大于短信验证码node koa2的实现
- node.js 初体验
- Node.js 初体验
- Node.js 初体验
- Node异步编程体验
- Node.js初体验
- node.js 初体验
- node.js 初体验
- node.js 初体验
- node.js 初体验
- NODE.JS初体验
- 1752:鸡兔同笼(无语...)
- webapi
- Kotlin 如何去查找控件并使用
- hdu 1063 java版 精度幂
- java 将文件打成zip压缩包
- 体验node Koa2中的封装
- “LINQ to Entities 不识别方法"System.String ToString()",因此该方法无法转换为存储表达式。”
- 31.七-执行多级目录的用例
- WebApi接口
- Mac 上使用QT 出错:Project ERROR: Xcode not set up properly.
- Linux下安装Openssl
- WinEdt, eso-pic.sty not found
- 大数据之路-伪分布式环境搭建
- 蓝桥杯 第七届决赛第五题 路径之谜