0

次のように Angular CLI サーバーをスピンアップしています。

ng serve --proxy http://localhost:3000

localhost:3000( Railsサーバーがそこで実行されているため、すべてのajaxリクエストをプロキシしたい。)

ページをロードすると動作しますが、ログ出力は次のようになります。

GET /vendor/reflect-metadata/Reflect.js.map 404 507.868 ms - -
GET /vendor/@angular/platform-browser-dynamic/index.js.map 404 209.116 ms - -
GET /vendor/@angular/platform-browser-dynamic/platform_browser_dynamic.js.map 404 341.069 ms - -
GET /vendor/@angular/compiler/index.js.map 404 436.576 ms - -
GET /vendor/@angular/compiler/compiler.js.map 404 563.992 ms - -
GET /vendor/@angular/compiler/src/schema/element_schema_registry.js.map 404 654.152 ms - -
GET /vendor/@angular/compiler/src/compiler.js.map 404 747.154 ms - -
GET /vendor/@angular/core/index.js.map 404 633.265 ms - -
GET /vendor/@angular/core/src/metadata.js.map 404 589.541 ms - -
GET /vendor/@angular/core/src/metadata/di.js.map 404 578.612 ms - -
GET /api/cars.json 304 460.917 ms - -
GET /vendor/@angular/core/src/facade/lang.js.map 404 465.870 ms - -
GET /vendor/@angular/core/src/di/metadata.js.map 404 454.124 ms - -
GET /vendor/@angular/core/src/di/forward_ref.js.map 404 455.020 ms - -

この 1 つの要求は正当です。

GET /api/cars.json 304 460.917 ms - -

これは、アプリが必要とするデータをロードするための ajax リクエストです。しかし、他のすべての要求はやや不可解です。ng serveプロキシ フラグを指定せずに実行すると、ベンダー ソース マップ ファイルの要求がまったく得られません。

Angular CLI は からすべてを提供しています/dist。たとえば、/dist/vendor/reflect-metadata/Reflect.jsファイルが存在しますが、ありません/dist/vendor/reflect-metadata/Reflect.js.map。ベンダー マップ ファイルはありませんが、ベンダー ファイルの下部にはソース マップの注釈があります//# sourceMappingURL=Reflect.js.map

ソース マップ ファイルが存在するか、参照されないようにする必要があります。サーバーがこれらの存在しないソース マップ ファイルを取得しようとするのはなぜですか?

4

1 に答える 1

0

私が開いたこの問題に関する回答によると、「これらは、開発者の再構築を遅くしたため、(私によって) 意図的に除外されました。」

これを次のように変更することで、問題を解決できましたangular-cli-build.js

/* global require, module */

var Angular2App = require('angular-cli/lib/broccoli/angular2-app');

module.exports = function(defaults) {
  return new Angular2App(defaults, {
    vendorNpmFiles: [
      'systemjs/dist/system-polyfills.js',
      'systemjs/dist/system.src.js',
      'zone.js/dist/*.{js,js.map}',
      'es6-shim/es6-shim.js',
      'reflect-metadata/*.{js,js.map}',
      'rxjs/**/*.{js,js.map}',
      '@angular/**/*.{js,js.map}'
    ]
  });
};
于 2016-05-13T12:02:08.723 に答える