Angular2 CLIを使用してスキャフォールドを支援し、角度2のプロジェクトを作成しようとしています。これにはテストスイート、Webpackなどの優れた設定も含まれます。WebpackホストからGoogle App Engineバックエンドへのリクエストのリダイレクト
Google App EngineでPythonでAPIを開発しました。残念ながら、私がフロントエンドをホストするためにGAEを単独で使用すると、webpack(自動検出、リロード、ユニットテスト)がうまく機能しなくなります。
バックエンドにリクエストをリダイレクトするためにプロキシ設定を使用しようとしました。
{
"/api" :{
"target": "http://localhost:8080",
"secure": false,
"loglevel": "debug"
},
"/_ah" :{
"target": "http://localhost:8080",
"secure": false,
"loglevel": "debug"
}
}
ng serve --proxy-config proxy.config.json
でプロキシ設定を参照しています。 これはwebapp2を使用して直接定義したリクエストに対して機能します。これらのリクエストは/ apiレベルで保持されます。
これは、私がエンドポイントライブラリを使用して定義する/ _ahの後ろに定義した要求では失敗します。ホストしている間、私は期待しています
ModuleDoesNotExistError('localhost:4200',)
Traceback (most recent call last):
File "/usr/lib/google-cloud-sdk/platform/google_appengine/lib/cherrypy/cherrypy/wsgiserver/wsgiserver2.py", line 1302, in communicate
req.respond()
File "/usr/lib/google-cloud-sdk/platform/google_appengine/lib/cherrypy/cherrypy/wsgiserver/wsgiserver2.py", line 831, in respond
self.server.gateway(self).respond()
File "/usr/lib/google-cloud-sdk/platform/google_appengine/lib/cherrypy/cherrypy/wsgiserver/wsgiserver2.py", line 2117, in respond
for chunk in response:
File "/usr/lib/google-cloud-sdk/platform/google_appengine/google/appengine/tools/devappserver2/endpoints/endpoints_server.py", line 121, in __call__
yield self.dispatch(request, start_response)
File "/usr/lib/google-cloud-sdk/platform/google_appengine/google/appengine/tools/devappserver2/endpoints/endpoints_server.py", line 151, in dispatch
return self.call_spi(request, start_response)
File "/usr/lib/google-cloud-sdk/platform/google_appengine/google/appengine/tools/devappserver2/endpoints/endpoints_server.py", line 324, in call_spi
spi_request.source_ip)
File "/usr/lib/google-cloud-sdk/platform/google_appengine/google/appengine/tools/devappserver2/dispatcher.py", line 639, in add_request
headers_dict['Host'], urlparse.urlsplit(relative_url).path)
File "/usr/lib/google-cloud-sdk/platform/google_appengine/google/appengine/tools/devappserver2/dispatcher.py", line 713, in _resolve_target
raise request_info.ModuleDoesNotExistError(hostname)
ModuleDoesNotExistError: localhost:4200
は、私は角CLI/WebPACKのコンボの値を保つことができることを私はGAEでの設定、ポート4200またはいくつかの他の方法からの要求を許可することができ、コンフィギュレーションがありGAEのローカルAPI。
UPDATE
私はそれが仕事を得るためにはかなりの総何かをしたが、私はまだ、私は設定ファイルが欠落していますように感じます。仕事にそれを得るために
私のハックは、アプリケーション・サーバーのPYファイルを更新しました: "/usr/lib/google-cloud-sdk/platform/google_appengine/google/appengine/tools/devappserver2/dispatcher.py"
を私はこれが今、もはやエラーがスローされますが、このハードコードされたオプションif not hostname or hostname == default_address or hostname == 'localhost:4200':
にライン685を変更しませんひどい修正。どんな助けもありがとうと思いますので、私はこれを取り除き、ツールを適切に使用することができます。
ファンタスティック!私は私の変更を取り消し、これはうまくいく!私は多くの担当者を持っていれば私はupvoteだろうが、非常にありがとう! – Sean