回答編集履歴
2
無理だったので冒頭に追記
test
CHANGED
@@ -1,3 +1,25 @@
|
|
1
|
+
実際にGlitch上でNode.jsのプロジェクトを作成して、
|
2
|
+
|
3
|
+
`fs.writeFileSync`を試しましたが、ファイルは作られていませんね。
|
4
|
+
|
5
|
+
|
6
|
+
|
7
|
+
という訳で、そのレンタルサーバ内でファイルを作って更新することは無理です
|
8
|
+
|
9
|
+
誰か別の媒体に書き出す仕組みが必要になりますね。
|
10
|
+
|
11
|
+
|
12
|
+
|
13
|
+
一応下記、Discord.js等でローカルに持ち帰って使う事も考えられるので、
|
14
|
+
|
15
|
+
fsでファイルが書き出せる想定での回答は残しておきます。
|
16
|
+
|
17
|
+
|
18
|
+
|
19
|
+
---
|
20
|
+
|
21
|
+
|
22
|
+
|
1
23
|
ゴールを考えた場合その方法では無理なので少し微修正が必要になります。
|
2
24
|
|
3
25
|
|
1
文章を微調整
test
CHANGED
@@ -58,11 +58,13 @@
|
|
58
58
|
|
59
59
|
これにどんな文字を追記しても不正JSONファイルになります。
|
60
60
|
|
61
|
+
(※空文字と改行コードだけなら妥当なJSONファイルであり続けますが、そんな屁理屈は言っちゃダメですよ?)
|
62
|
+
|
61
63
|
|
62
64
|
|
63
65
|
なので「追記」というアプローチでは絶対に前へ進めません。
|
64
66
|
|
65
|
-
全く同じファイル名のJSONファイルを消して作り直しというアプローチを取る
|
67
|
+
全く同じファイル名のJSONファイルを消して作り直しというアプローチを取ることになります。
|
66
68
|
|
67
69
|
[fs.writeFileSync](https://nodejs.org/api/fs.html#fswritefilesyncfile-data-options)を使いましょう。
|
68
70
|
|
@@ -128,29 +130,37 @@
|
|
128
130
|
|
129
131
|
まぁJSONを捨てちゃうというのは手ですね。
|
130
132
|
|
131
|
-
|
133
|
+
実際問題の現場ではMySQL等の高速なデータベース使うとか、
|
134
|
+
|
132
|
-
|
135
|
+
特定ディレクトリ配下に当日の日付のファイルを大量に作って都度書き出していくみたいなアプローチになると思います。
|
136
|
+
|
137
|
+
|
138
|
+
|
139
|
+
その中でも今回はJSONとほぼ変わらないYAMLを紹介しましょうか。
|
140
|
+
|
133
|
-
[YAML](https://ja.wikipedia.org/wiki/YAML)
|
141
|
+
[YAML](https://ja.wikipedia.org/wiki/YAML)はJSONより前から存在するファイルフォーマットです。
|
134
|
-
|
142
|
+
|
135
|
-
これも
|
143
|
+
これもJSONと同じく1ファイル管理型です。
|
136
|
-
|
137
|
-
|
138
|
-
|
144
|
+
|
145
|
+
|
146
|
+
|
139
|
-
ですが、YAMLはPythonみたいにインデントで親子を表現する
|
147
|
+
ですが、YAMLはPythonみたいにインデントで親子を表現するという特徴があります。
|
140
|
-
|
148
|
+
|
141
|
-
インデントさえ揃えてしまえばファイル末尾にしれっと書き足しても妥当なYAMLファイルを維持出来
|
149
|
+
インデントさえ揃えてしまえばファイル末尾にしれっと書き足しても妥当なYAMLファイルを維持出来るわけですね。
|
142
150
|
|
143
151
|
|
144
152
|
|
145
153
|
そもそもの記述がJSONよりイケてるので
|
146
154
|
|
147
|
-
JSON使うのか分からないレベルです。
|
155
|
+
なんでJSON使うのか分からないレベルです。
|
148
156
|
|
149
157
|
(Node.jsのrequireでJSONを呼び出すのは速度が出るので、ロード時間のみ考慮するならばJSONが有利ですが)
|
150
158
|
|
151
159
|
|
152
160
|
|
161
|
+
しかしJavaScriptはネイティブでJSONを読み書きする機能が備わっていますが、
|
162
|
+
|
153
|
-
YAML
|
163
|
+
YAMLを読み書きする機能はないので、読み書きする為のライブラリが別途必要になります。
|
154
164
|
|
155
165
|
npmのサイトで探した感じ、メンテされてて使えそうなのはこの2つですね。
|
156
166
|
|
@@ -216,7 +226,9 @@
|
|
216
226
|
|
217
227
|
|
218
228
|
|
229
|
+
確認してませんが、
|
230
|
+
|
219
|
-
こんな感じにデータが吐き出されるようになるはずです。
|
231
|
+
多分こんな感じにデータが吐き出されるようになるはずです。
|
220
232
|
|
221
233
|
|
222
234
|
|