这次给大家带来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+"
"
} 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地址
相关阅读: