为什么 Angular 服务器试图访问不存在的供应商源映射文件?
Why is the Angular server trying to access nonexistent vendor source map files?
我正在像这样启动我的 Angular CLI 服务器:
ng serve --proxy http://localhost:3000
(我想将所有 ajax 请求代理到 localhost:3000
,因为我在那里有一个 Rails 服务器 运行。)
当我加载页面时,它可以正常工作,但我的日志输出如下所示:
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 - -
这个请求是合法的:
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
。我没有 any 供应商映射文件,尽管我的供应商文件底部确实有源映射注释,例如//# sourceMappingURL=Reflect.js.map
.
似乎应该存在源映射文件,或者不应引用它们。为什么服务器试图获取这些不存在的源映射文件?
根据 this issue I opened 上的回复,"These were left out intentionally (by me) because they slowed down the dev rebuilds."
我可以通过将 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}'
]
});
};
我正在像这样启动我的 Angular CLI 服务器:
ng serve --proxy http://localhost:3000
(我想将所有 ajax 请求代理到 localhost:3000
,因为我在那里有一个 Rails 服务器 运行。)
当我加载页面时,它可以正常工作,但我的日志输出如下所示:
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 - -
这个请求是合法的:
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
。我没有 any 供应商映射文件,尽管我的供应商文件底部确实有源映射注释,例如//# sourceMappingURL=Reflect.js.map
.
似乎应该存在源映射文件,或者不应引用它们。为什么服务器试图获取这些不存在的源映射文件?
根据 this issue I opened 上的回复,"These were left out intentionally (by me) because they slowed down the dev rebuilds."
我可以通过将 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}'
]
});
};