初始koa
koa是一個新的web框架,基于nodejs平臺,koa沒有捆綁任何中間件,而是提供了一套優雅的函數庫,幫助您快速而愉快的編寫服務端應用程序。
一個demo帶你了解koa😆
1、不用koa時的寫法
let http = require('http'); //node 中的api
先學vue還是學node?let server = http.createServer((req, res) => {
res.end('hello world')
})
server.listen(4000)
2、用koa之后的寫法
const Koa = require('koa');
koa session,const app = new Koa();
app.use((ctx, next) => {
ctx.body = 'Hello World';
});
app.listen(3000);
對比發現,相對原生,koa多了兩個實例上的use、listen方法,和use回調中的ctx、next兩個參數。這四個不同,幾乎就是koa的全部了,也是這四個不同讓koa如此強大。
django api?安裝
1.確保已安裝node,npm
node -v
npm -v
2.安裝koa腳手架koa-generator
cnpm install koa-generator --save -g
nodejs接口開發、3.生成koa2項目
koa2
4.安裝依賴包
cnpm install
5.啟動服務
cnpm start
nodejs做api接口,6.打開瀏覽器::http://localhost:3000/看到'Hello Koa2!'就表示訪問成功了!
DEMO
1、用koa腳手架生成的目錄結構
durian/(項目名稱)
|---- bin
|---- www (啟動文件)
java接口對接node。|---- node_modules
|---- 安裝的各種依賴
|---- public
|---- image
|---- style
|---- javascript
nodejs接口編寫?|---- router
|---- index.js (路由)
|---- users.js
|---- view
|---- layout.jade(.jade 源于 Node.js 的 HTML 模板引擎,類似于.ejs模板 )
|---- index.jade
nodejs nginx?|---- error.jade
|---- app.js
|---- package.json
2、連接mysql取數據
安裝mysql
cnpm install mysql --save -g
nodejs koa2。連接mysql,新建root.js文件(注意:我這里連接的是我本機的mysql)
var mysql = require('mysql');
var connection = mysql.createConnection({
host: 'localhost', // 連接的本地mysql
user: 'root', // 用戶名
password: '***', // 密碼
nodejs koa、port: '3306', // 端口號
database: 'test' // 表名
});
connection.connect(); // 建立鏈接
var sql = 'select * from test'; // 查詢的表名
connection.query(sql, function (err, result) {
nodejs api 接口開發,if (err) {
console.log('error', err.message);
return;
}
console.log('--------------------------SELECT----------------------------');
console.log(result);
vue獲取api接口數據。});
connection.end();
輸出sql語句查詢的結果
node root.js
至此,一個簡單的sql查詢就結束了,接下來咱們修改下腳手架目錄,開始開發咱們所需要的api接口;
項目實操
nodejs與vue關系。1、改造之后的項目目錄長這樣,如下:
durian/(項目名稱)
|---- bin
|---- www (啟動文件)
|---- dal
|---- logger.js (打印logger)
node koa2 生態實戰、|---- logs
|---- xxx (logger輸出地址)
|---- mysql
|---- config.js (連接的數據庫配置)
|---- mysql.js (sql查詢等方法封裝)
|---- pool.js (創建鏈接數據庫)
java API、|---- node_modules
|---- 安裝的各種依賴
|---- public
|---- image
|---- style
|---- javascript
怎么用node寫接口、|---- router
|---- index.js (接口路由)
|---- users.js
|---- server
|---- index.js (sql語句)
|---- view
python和nodejs哪個好,|---- layout.html
|---- app.js
|---- package.json
2、在server目錄中輸入咱們要查詢的sql語句,然后把查詢到的內容return出去
test: async () => { // 如果函數沒使用async 函數內部不可以使用await;
//async 確保了返回值是一個promise
koa websocket,//await 不能再頂部作用域,等待await后面的內容返回之后才會執行下面的操作
const task_countSql = mysql.getSql("select * from test", []);
let data = await mysql.operateDB(task_countSql, []);
console.log(data);
return {
code: 0,
message: '成功',
list: data
};
},
3、在router目錄中寫接口名稱并把數據賦值給body
import testService from '../../../service/test/index'
export const test = {
'path': '/test.do',
'type': 'get',
'control': async (ctx) => {
const data = await testService.test();
ctx.body = { data }
}
}
4、瀏覽器訪問接口,看輸出內容
{
"data": [
{
"id": 1,
"name": "nodejs in action test!!"
}
]
}
5、在頁面中請求接口
/api/test.do測試頁面訪問接口:6、訪問頁面地址看輸出
127.0.0.1:3000/page/
//輸出內容
{
"data": [
{
"id": 1,
"name": "nodejs in action test!!"
}
]
}
7、大功告成,下一步用pm2發布到服務器就行啦~
參考文檔
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态