6

OS X でベータ 1.0 リリースを使用することにした昨日まで、私は Yeoman 0.9 を使用してきました。私は Yeoman を使用して角度のあるアプリを開発しています。

アプリの Yeoman 0.9-->1.0 への移行が完了して動作するようになったので、起動した開発サーバーを拡張したいと思っています。ヨーマンgrunt サーバーを使用して、別のチームによって開発され、別のサーバーでホストされている API へのクロスドメイン呼び出しを行うことができるようにします。そこでは、既にクロスドメイン呼び出しが許可されています。これまで、Angular.js のおかげで偽の http バックエンドを使用してきました。

――余談――

誰かがこれを読んで簡単な解決策を探している場合、Chrome を搭載した OS X でこのアプローチを使用して、コマンドラインから--disable-web-securityオプションを Chromeに渡すことでクロスドメイン呼び出しが機能するようになりましたが、すべてのセキュリティがオフになりますChromeの(親指を下に)、Chromeを新しいインスタンスとして起動することはできません。

--さておき--

掘り下げてみると、このスタックオーバーフローの投稿(この投稿への回答を介して) を見つけて、 grunt サーバーでクロスドメイン呼び出しを許可するために何をする必要があるかについてかなり良いアイデアを得ることができました。基本的に、「Access-Control-Allow-Origin」が「*」または好きなものに設定されるように、ヘッダーを変更できるように接続するミドルウェア コンポーネントを追加する必要があります。

Node.js について何も知らないので、投稿でほのめかされている変更を、Yeoman によって作成された多くのファイルのどこかに行う必要があることがわかりますが、どこでしょうか? Yeoman によってセットアップされた「node_modules」ディレクトリ内で「app.configure」と「connect.listen」の未加工の文字列検索をいくつか実行しましたが、多くのヒットが見つかりました。そのほとんどは、モジュールにバンドルされた例からのものです。どちらを編集すればよいかわかりません。参考までに、Angular アプリのディレクトリ構造のスナップショットを次に示します。

ここに画像の説明を入力

これらの変更がどこで行われる可能性があるかについて誰かが私にいくつかの指針を与えることができれば、私は本当に感謝しています!

4

2 に答える 2

2

このgithubプルリクエストのアプローチを使用してノードをいじり回して解決しました:http://github.com/angular/angular.js/pull/1454

于 2013-02-22T05:25:43.197 に答える
1

Apache プロキシを使用して、REST サーバーを gruntjs(angular.js) に接続できます。

Apache は次のようにします。

  • プロキシ / -> gruntjs
  • プロキシ/サービス -> REST サーバー

Apache にヒットするアプリケーションを使用し、angular.js アプリケーションはそれ自体と通信していると考えるため、クロスドメインの問題はありません。

これを設定する方法に関する優れたチュートリアルは次のとおりです

于 2014-06-15T10:08:47.817 に答える