回答編集履歴

2

よく読んだらGoでDOM操作と書いてありました。すいません。

2019/11/20 13:04

投稿

nobonobo
nobonobo

スコア3367

test CHANGED
@@ -1,78 +1,6 @@
1
- 質問意図以下のどちらなのでしょう?
1
+ GoでDOM操作はGopherJSを使う方法とGo本家WASM出力機能を使う方法あります。
2
2
 
3
-
4
-
5
- - バックエンドをGo、フロントエンドにReact/Elm/Vueなどを連携させたい
6
-
7
- - フロントエンドをGoで書きたい
8
-
9
-
10
-
11
- 前者は何も迷うことなくフロントエンドのライブラリを選んでそのチュートリアルへ。
12
-
13
- GoのバックエンドはAPIをGoで提供すれば基本はOK。
14
-
15
-
16
-
17
- nodeの開発サーバーと連携をとる場合はGoのサーバーで一旦受け取ってリバースプロキシーで
18
-
19
- node開発サーバー中継すると便利です。
3
+ 以下内容が参考思います。
20
-
21
- (リロードでフロントエンド用のファイルが再構築されるので)
22
-
23
-
24
-
25
- Goのサーバー記述例(nodeの開発サーバーがlocalhost:3000にサーブされている場合)
26
-
27
- ```go
28
-
29
- import (
30
-
31
- "net/http"
32
-
33
- "net/http/httputil"
34
-
35
- "net/url"
36
-
37
- "fmt"
38
-
39
- )
40
-
41
-
42
-
43
- func main() {
44
-
45
- // New functionality written in Go
46
-
47
- http.HandleFunc("/api", func(w http.ResponseWriter, r *http.Request) {
48
-
49
- fmt.Fprint(w, "API Handler")
50
-
51
- // TODO: implement
52
-
53
- })
54
-
55
-
56
-
57
- // Anything we don't do in Go, we pass to the old platform
58
-
59
- u, _ := url.Parse("http://localhost:3000/")
60
-
61
- http.Handle("/", httputil.NewSingleHostReverseProxy(u))
62
-
63
-
64
-
65
- // Start the server
66
-
67
- http.ListenAndServe(":8080", nil)
68
-
69
- }
70
-
71
- ```
72
-
73
-
74
-
75
- 後者であれば、それなりに個人的に取り組んでいて以下にやり方をまとめています。参考にどうぞ。
76
4
 
77
5
 
78
6
 

1

質問の意図が複数考えられるので追記

2019/11/20 13:04

投稿

nobonobo
nobonobo

スコア3367

test CHANGED
@@ -1,4 +1,78 @@
1
+ 質問の意図が以下のどちらなのでしょう?
2
+
3
+
4
+
5
+ - バックエンドをGo、フロントエンドにReact/Elm/Vueなどを連携させたい
6
+
7
+ - フロントエンドをGoで書きたい
8
+
9
+
10
+
11
+ 前者は何も迷うことなくフロントエンドのライブラリを選んでそのチュートリアルへ。
12
+
13
+ GoのバックエンドはAPIをGoで提供すれば基本はOK。
14
+
15
+
16
+
17
+ nodeの開発サーバーと連携をとる場合はGoのサーバーで一旦受け取ってリバースプロキシーで
18
+
19
+ nodeの開発サーバーに中継すると便利です。
20
+
21
+ (リロードでフロントエンド用のファイルが再構築されるので)
22
+
23
+
24
+
25
+ Goのサーバー記述例(nodeの開発サーバーがlocalhost:3000にサーブされている場合)
26
+
27
+ ```go
28
+
1
- 参考にどうぞ。
29
+ import (
30
+
31
+ "net/http"
32
+
33
+ "net/http/httputil"
34
+
35
+ "net/url"
36
+
37
+ "fmt"
38
+
39
+ )
40
+
41
+
42
+
43
+ func main() {
44
+
45
+ // New functionality written in Go
46
+
47
+ http.HandleFunc("/api", func(w http.ResponseWriter, r *http.Request) {
48
+
49
+ fmt.Fprint(w, "API Handler")
50
+
51
+ // TODO: implement
52
+
53
+ })
54
+
55
+
56
+
57
+ // Anything we don't do in Go, we pass to the old platform
58
+
59
+ u, _ := url.Parse("http://localhost:3000/")
60
+
61
+ http.Handle("/", httputil.NewSingleHostReverseProxy(u))
62
+
63
+
64
+
65
+ // Start the server
66
+
67
+ http.ListenAndServe(":8080", nil)
68
+
69
+ }
70
+
71
+ ```
72
+
73
+
74
+
75
+ 後者であれば、それなりに個人的に取り組んでいて以下にやり方をまとめています。参考にどうぞ。
2
76
 
3
77
 
4
78