這次帶給大家Golang+Nodejs的前後端開發分離詳解,使用Golang+Nodejs的前後端開發分離注意事項有哪些,下面就是實戰案例,一起來看一下。
1.後台伺服器寫
程式碼:
package mainimport ( "github.com/hprose/hprose-golang/rpc"//<===hprose "fmt" "database/sql" _ "github.com/go-sql-driver/mysql"//<===mysql驱动 "log")func checkErr(err error) { if err != nil { panic(err) } } func mysqlTestConnect(str string) string{//数据库查询 fmt.Print(str) db, err := sql.Open("mysql", "root:换成你数据库的密码@tcp(localhost:3306)/test") if err != nil { log.Fatalf("Open database error: %s\n", err) } defer db.Close() err = db.Ping() checkErr(err) rows, err := db.Query("SELECT * FROM t_test") checkErr(err) var tmp string="" for rows.Next() { var id int var name string rows.Columns() err = rows.Scan(&id, &name) checkErr(err) tmp=tmp+"id:"+string(id)+" name:"+name+"<br/>" } return tmp } func main(){ server := rpc.NewTCPServer("tcp4://0.0.0.0:10010/")//创建服务具体 server.AddFunction("客户端调用函数名", mysqlTestConnect)//添加访问函数 server.Start()//启动}
2.前台伺服器寫
程式碼:
const koa = require('koa');//这里以koa 框架为例const app = new koa();var hprose = require("hprose");//hprosevar client = hprose.Client.create("tcp4://127.0.0.1:10010/", ['客户端调用函数名']);//创建客户端连接app.use(function* () { var dt= yield new Promise(function (resolve) { client.客户端调用函数名("请求参数", function (result) { resolve(result); }) }); this.type = 'text/html;charset=utf-8'; this.body = dt; }); app.listen(3000);
3.效果
瀏覽器訪問127.0.0.1:3000地址
#相信看了本文案例你已經掌握了方法,更多精彩請關注php中文網其它相關文章!
相關閱讀:
以上是Golang+Nodejs的前後端開發分離詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!