0

開発中にいくつかの外部 API と対話するためにプロキシが必要です。私はgrunt-connect-proxyをいじりましたが、Grunt初心者であるため、ember-app-kitの Gruntfile または options/connect.js ファイル内で動作させることができませんでした。

開発でプロキシが必要になることはかなり一般的なタスクであると仮定すると、誰かが ember-app-kit 内でプロキシを設定する方法の例を示すことができますか?

4

1 に答える 1

2

grunt-connect-proxy ( npm install grunt-connect-proxy --save-dev)がインストールされていると仮定します。

Gruntfile.js で、test:server および server タスクの「connect:server」の前に「configureProxies」を追加します。

grunt.registerTask('server', "Run your server in development mode, auto-rebuilding when files change.",
                 ['build:debug', 'configureProxies', 'connect:server', 'watch:main']);

tasks/helpers.js の taskRequirements に以下を追加します。

'connectProxy': ['grunt-connect-proxy']

tasks/options/connect.js で、サーバー設定と同じレベルにプロキシ設定を追加します

// example settings to proxy to a dev server
proxies: [{
  context: '/api',
  host: 'localhost',
  port: 7000,
  changeOrigin: true,
  rejectUnauthorized: false
}],

同じファイルに次を追加して、ミドルウェア関数で proxyRequest を要求します。

if (Helpers.isPackageAvailable("grunt-connect-proxy")) {
  result.splice(1,0, require("grunt-connect-proxy/lib/utils").proxyRequest);
}

より完全な例については、https://gist.github.com/jfranz/7034552を参照してください。

于 2013-10-18T00:21:42.363 に答える