0

現在、node.js でホストされている AngularJS フロントエンド用の Web サービス (node.js を使用) を作成しています。

後で domain.com/api の下のプロキシ経由で利用できるようになるため、JSONP は必要ありません。

ローカル テストの目的で、AngularJS アプリを localhost:80 で実行し、node.js バックエンドを localhost:3000 で実行しています。当然、json リクエストを照会することはできません。イージーズ

セットアップにあまり手間をかけずにホームページをローカルでテストするには、どのようなセットアップが最適でしょうか?

私は現在、窓に取り組んでいます。Linux の方が簡単な場合は、Linux もオプションです。

同じドメインで両方のアプリをホストする Express 用の単純なプロキシを作成することは可能でしょうか?

4

2 に答える 2

0

hosts ファイルを使用して、domain.com/api を localhost に設定できます。これは/etc/hostsLinux で行われますが、Windows のどこかに存在します。私を大いに助けてくれるもう 1 つのことは、ssh トンネリングです。たとえば、リモート ポート (バックエンドが実行されている場所) を localhost にトンネリングできます。ssh -L localPort:your.server:remotePort

于 2013-01-03T12:30:47.413 に答える
0

これはまさにあなたが求めたものではありませんが、node.js アプリで AngularJS アプリも提供するのが最も簡単な方法かもしれません。それは非常に効率的であり、開発に使用するには十分に効率的です。

それがexpressjsアプリの場合は、追加するだけです

app.use(express['static'](__dirname + "/public"));

他のルートの前に、./public/ で静的ファイルを検索するようにします

アプリが node.js で簡単に再現できないテンプレートまたはビルド システムによって提供されている場合、別のオプションは、いくつかのポート (80 または 5000 または ...) で nginx、apache、または haproxy を実行し、それを使用することです。アプリ用の現在のバックエンド サーバーと、API/データ リクエスト用のポート 3000 (node.js アプリ) へのプロキシ。

現在ポート 80 で実行されているサーバーにこれを実行させることもできます。

最終的なアイデアとして、「アプリ ファイル」のポート 80 にプロキシするように node.js アプリをセットアップすることもできます。

編集- 両方のアプリが node.js で記述されていることに気付きました。本番環境では別々に実行し、開発環境では一緒に実行するように設定することは可能でしょうか? すべての実際の機能をモジュールに入れ、アプリを起動する 3 つの個別の「ローダー」を用意します。

于 2013-01-03T12:54:00.590 に答える