这次给大家带来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地址

e5faa12ebce77afce903cc557148ed5c.png

相关阅读: