이번에는 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 중국어 웹사이트의 다른 관련 기사를 주목하세요!
관련 읽기:
python3과 JS의 차이점은 무엇입니까H5에서 이미지 업로드 미리 보기 구성 요소를 만드는 방법s-xlsx를 사용하여 Excel 파일 가져오기 및 내보내기를 구현하는 방법js/css JS 플러그인을 동적으로 로드위 내용은 Golang+Nodejs의 프론트엔드와 백엔드 개발 분리에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!