这次给大家带来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中文网其他相关文章!