この記事では、Node.js をブラウザーでローカルに実行する方法を紹介します。一定の参考値があるので、困っている友達が参考になれば幸いです。
#[推奨学習:「
nodejs チュートリアル」]
すべてはメールの受信から始まります
早朝にメールを受け取りました。StackBlitz は Next.js および Google のチームと協力して新しいテクノロジーを開発しているとのことでした。
数年前に、- StackBlitz
ネットワークが重大な変曲点に向かっていることを認識してください。 WebAssembly と新しい機能 API の登場により、ブラウザ内で Node.js を完全に実行できるほど強力な WebAssembly ベースのオペレーティング システムを作成できるようになりました。私たちは、ローカル環境をセットアップする必要なく、シームレスなコードコラボレーションを可能にする、ローカル環境よりも高速、安全、一貫性のある高度な開発環境を構想しました。
テクノロジー名:
WebContainers
WebContainers を使用すると、数ミリ秒で起動でき、ワンクリックで即座にオンラインおよびリンク共有できる完全な Node.js 環境を作成できます。この環境には、VS Code の強力な編集エクスペリエンス、完全なターミナル、npm、その他の機能が備わっています。また、完全にブラウザ内で実行されるため、次のような重要な利点が得られます。 - ネイティブ環境よりも高速です。 Yarn/npm と比較して、ビルドは最大 20% 高速になり、ロール インストールは 5 倍以上高速になります。
- ブラウザでの Node.js のデバッグ。 Chrome DevTools とのシームレスな統合により、インストールや拡張機能を必要とせず、ネイティブ バックエンド デバッグが可能になります。
- デフォルトは安全です。すべてのコードの実行は、リモート VM やローカル バイナリではなく、ブラウザーの安全なサンドボックス内で行われます。
-
- 繰り返しますが、これらの環境はリモート サーバー上では実行されません。代わりに、各環境は完全に Web ブラウザー内に含まれています。そうです。初めて、Node.js ランタイム自体がブラウザーでネイティブに実行されます。 今後、WebContainers はパブリック ベータ版になります。現在のサポートには Next.js、GraphQL、Vanilla Node.js が含まれており、サポートを拡大するために他のオープン ソース プロジェクトと協力しています
#なぜ
WebContainers があるのか
セキュリティ
StackBlitz は、ブラウザにおける数十年にわたるスピードとセキュリティの革新を活用して、これらの問題を解決します。 StackBlitz のすべての計算はブラウザのセキュリティ サンドボックス内で即座に行われ、ローカル マシンに展開することはできません。このモデルはまた、いくつかの重要な開発およびデバッグの利点を解放します (さらに多くの利点を数秒で利用可能になります)。
#ブラウザの力を解き放つ
Chrome DevTools を使用したシームレスな Node.js デバッグ
- #ブラウザは Javascript のデバッグに非常に優れていることが判明しました。ショックです、私は知っています ;) Chrome DevTools との統合は、ブラウザーで Node.js を実行するだけですぐに機能します。インストールも拡張機能も必要なく、ブラウザでネイティブ バックエンドをデバッグするだけです
ブラウザでサーバーを実行しますデバイス内で
# #####実は。 WebContainers には、ブラウザの ServiceWorker API にマップされる仮想 TCP ネットワーク スタックが含まれているため、ライブ Node.js サーバーをオンザフライで作成し、オフラインでも作業を継続できます。完全にブラウザのセキュリティ サンドボックス内で実行されるため、サーバーは localhost(!) よりも短い遅延で応答し、localhost スクレイピング攻撃から Web サーバーを保護します#ミリ秒の起動時間
##すべてのページまったく新しい環境でロードされます
- さよなら、rm -rf node_modules! WebContainer の組み込み npm クライアントは非常に高速であるため、ページが読み込まれるたびに新規インストールが実行され、毎回クリーンな環境が確保されます。環境に問題が発生した場合は、他の Web アプリケーションと同じように、クリーンな状態に戻すことができます。[更新] ボタンをクリックします。飛行機の中でも、雨の中の後部座席でも、インターネットに接続せずに作業を続けることができます。
StackBlitz の新しいコンピューティング モデルを使用すると、コードの実行は 100% ブラウザの安全なボックス内で行われます。これにより、オンプレミスと比較して、より高速で制限の少ない開発環境が得られ、同時により優れたセキュリティが提供されます。これは非常にまれな組み合わせです。
#実際、デフォルトのセキュリティ体制は非常に強固であるため、当社の組み込みパッケージ マネージャーは、5 年以上にわたって未解決の SAM 問題を解決する最初の一般公開されたツールです。Saccone の長い間未解決の npm 脆弱性
繰り返しますが、これらの環境はリモート サーバー上では実行されません。代わりに、各環境は完全に Web ブラウザー内に含まれています。そうです。Node.js ランタイム自体は初めてブラウザーでネイティブに実行されますが、今回
WebContainers
以上がNode.js をブラウザーでローカルに実行する方法についての簡単な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。