質問するログイン新規登録

回答編集履歴

1

校正

2021/07/01 04:18

投稿

miyabi-sun
miyabi-sun

スコア21542

answer CHANGED
@@ -5,7 +5,7 @@
5
5
 
6
6
  ---
7
7
 
8
- まず無理な理由の前に歴史から
8
+ まず無理な理由の前にJavaScript→Node.jsの歴史から
9
9
 
10
10
  元々ブラウザに引っ付いているJavaScriptは四則演算やって
11
11
  ブラウザ内に存在するDOMツリーをAPI越しに編集して画面の更新を促す為の言語です。
@@ -13,16 +13,20 @@
13
13
  だって要らないんだもん。
14
14
 
15
15
  んで、JavaScriptでRubyと同じ事がやりたい!って言った変人が居て
16
- C++製のモジュールを組み込み捲って魔改造したのがNode.jsです。
16
+ 足りない機能をC++製のモジュールを作って組み込みんで出来たのがNode.jsです。
17
17
 
18
- Node.jsは一部の変態のオモチャでしたが作りが優秀で
18
+ そのNode.jsは作りが優秀で普及していきます。
19
19
  `require`周りとか元ネタのJavaScriptでも使いたいよね。
20
+ でも素のJavaScriptには`require`なんて無いから「そんな関数ねーよ」エラーで落ちてしまう。
20
21
 
21
22
  じゃあJSファイルを精査して、コードを1個のファイルに固めてしまって
22
23
  そして適当にでっちあげた自作のrequire関数をかぶせてやれば
23
24
  Node.js風のJavaScriptが実現するやん!
24
25
  この用途で作られたのがWebpackやBrowserifyというライブラリです。
25
26
 
27
+ 現在Node.jsでVueのシステムを作って
28
+ ブラウザでページを閲覧出来るのはWebpackのおかげです。
29
+
26
30
  ---
27
31
 
28
32
  なぜ`sqlite3`がJavaScriptで使えないか?
@@ -35,7 +39,9 @@
35
39
  `sqlite3`はJavaScriptへ持っていけません。
36
40
 
37
41
  他にもNode.jsで追加されたfsやnet、http等のモジュールも
38
- C++製のファイルなので持っていけません。
42
+ C++製の実行ファイルなのでJavaScriptには持っていけません。
43
+ どこかしらでエラー等が出て動作しなくなります。
44
+
39
45
  npmで配布されているライブラリでもJSに移植出来るものと不可能なものがあり、
40
46
  これはREADME.md等の説明書きを読みながら判断するしかありません。
41
47