(SystemJS) XHR 错误@angular/commobundles/common.umd.js/http 未找到
Posted
技术标签:
【中文标题】(SystemJS) XHR 错误@angular/commobundles/common.umd.js/http 未找到【英文标题】:(SystemJS) XHR error @angular/commobundles/common.umd.js/http not found
【发布时间】:2018-01-19 22:24:19
【问题描述】:
我正在我的应用程序中发出一个简单的 http 请求。
我正在使用 Angular 2 Quickstart 并将我所有的 Angular 包更新到 4.3.4
这是我的package.json
“名称”:“角度快速入门”,
“版本”:“1.0.0”,
"description": "文档中的快速入门 package.json,辅以测试支持",
“脚本”:
“构建”:“tsc -p src/”,
"build:watch": "tsc -p src/ -w",
“构建:e2e”:“tsc -p e2e/”,
"服务": "lite-server -c=bs-config.json",
"serve:e2e": "lite-server -c=bs-config.e2e.json",
"prestart": "npm run build",
"start": "并发\"npm run build:watch\" \"npm run serve\"",
“pree2e”:“npm 运行构建:e2e”,
"e2e": "同时\"npm run serve:e2e\" \"npm run protractor\" --kill-others --success first",
"preprotractor": "webdriver-manager 更新",
"量角器": "量角器 protractor.config.js",
"pretest": "npm run build",
"test": "同时\"npm run build:watch\" \"karma start karma.conf.js\"",
"pretest:once": "npm run build",
"test:once": "karma start karma.conf.js --single-run",
“lint”:“tslint ./src/**/*.ts -t 详细”
,
“关键字”:[],
“作者”: ””,
“许可证”:“麻省理工学院”,
“依赖”:
"@angular/common": "4.3.4",
"@angular/compiler": "4.3.4",
"@angular/core": "4.3.4",
"@angular/forms": "4.3.4",
"@angular/http": "4.3.4",
"@angular/platform-browser": "4.3.4",
"@angular/platform-browser-dynamic": "4.3.4",
"@angular/platform-server": "4.3.4",
"@angular/路由器": "4.3.4",
“angular-in-memory-web-api”:“~0.3.0”,
"core-js": "^2.4.1",
"rxjs": "^5.4.3",
“systemjs”:“0.19.40”,
“打字稿”:“2.4.2”,
“zone.js”:“^0.8.16”
,
“开发依赖”:
"同时": "^3.2.0",
“精简服务器”:“^2.2.2”,
“打字稿”:“~2.1.0”,
“规范路径”:“0.0.2”,
"tslint": "^3.15.1",
"lodash": "^4.16.4",
“茉莉花核”:“~2.4.1”,
"业力": "^1.3.0",
"karma-chrome-launcher": "^2.0.0",
"业力-cli": "^1.0.1",
“业力茉莉花”:“^1.0.2”,
“karma-jasmine-html-reporter”:“^0.2.2”,
“量角器”:“~4.0.14”,
"rimraf": "^2.5.4",
"@types/node": "^6.0.46",
“@types/茉莉花”:“2.5.36”
,
“存储库”:
这是我的System.config.js
/**
* Angular 示例的系统配置
* 根据您的应用需求进行调整。
*/
(函数(全局)
系统配置(
路径:
// 路径作为别名
'npm:': 'node_modules/'
,
// map 告诉系统加载器在哪里寻找东西
地图:
// 我们的应用在 app 文件夹中
“应用程序”:“应用程序”,
// 角度束
'@angular/core': 'npm:@angular/core/bundles/core.umd.js',
'@angular/common': 'npm:@angular/common/bundles/common.umd.js',
'@angular/compiler': 'npm:@angular/compiler/bundles/compiler.umd.js',
'@angular/platform-browser': 'npm:@angular/platform-browser/bundles/platform-browser.umd.js',
'@angular/platform-browser-dynamic': 'npm:@angular/platform-browser-dynamic/bundles/platform-browser-dynamic.umd.js',
'@angular/http': 'npm:@angular/http/bundles/http.umd.js',
'@angular/router': 'npm:@angular/router/bundles/router.umd.js',
'@angular/forms': 'npm:@angular/forms/bundles/forms.umd.js',
// 其他库
'rxjs': 'npm:rxjs',
'angular-in-memory-web-api': 'npm:angular-in-memory-web-api/'
,
// packages 告诉系统加载器在没有文件名和/或扩展名时如何加载
包:
应用程序:
默认扩展:'js',
元:
'./*.js':
加载器:'systemjs-angular-loader.js'
,
rxjs:
默认扩展:'js'
);
)(这);
在我安装 HttpClientModule
之前,代码运行良好。
从'@angular/core'导入 NgModule ;
从“@angular/platform-browser”导入 BrowserModule ;
从“@angular/common/http”导入 HttpClientModule ;
从'./app.component'导入AppComponent;
@NgModule(
进口:[
浏览器模块,
HttpClientModule],
声明:[ AppComponent ],
引导程序:[应用组件]
)
导出类 AppModule
添加HttpClientModule
后,我得到一个错误:
错误:(SystemJS)XHR 错误(404 Not Found)正在加载 http://localhost:3000/node_modules/@angular/common/bundles/common.umd.js/http
我已经做了很长一段时间了,看了很多这样的问题,但找不到我的问题的答案。
【问题讨论】:
【参考方案1】:
我怀疑您应该将以下键添加到您的 systemjs 配置中:
map:
...
'@angular/common/http': 'npm:@angular/common/bundles/common-http.umd.js',
'tslib': 'npm:tslib/tslib.js'
Plunker Example
tslib
是必需的,因为 @angular/common/http
依赖于它。 https://github.com/angular/common-builds/blob/4.3.0/bundles/common-http.umd.js#L7
【讨论】:
成功了。之前没有想到这一点,只是认为它已经在快速入门中。而且我不知道为什么,但我在角度指南或 api 文档中找不到它。
嗯...我进行了更改,但仍然遇到相同的错误。我必须重新加载systemjs文件吗?
我也遇到同样的错误...如果有任何解决方案请告诉我【参考方案2】:
你应该在systemjs配置中添加map
@angular/common/http
'@angular/common/http': 'node_modules/@angular/common/bundles/common-http.umd.js'
另外需要tslib
'tslib': 'npm:tslib/tslib.js'
【讨论】:
我在我的系统sonfig中添加了这些但错误没有解决以上是关于(SystemJS) XHR 错误@angular/commobundles/common.umd.js/http 未找到的主要内容,如果未能解决你的问题,请参考以下文章
Asp.net MVC5 angular4未捕获引用错误:部署到IIS后系统未在systemjs.config.js中定义
Angular 1.x 与 TypeScript 2.x、@types 和 SystemJS - 使用全局类型
在 Angular 中使用 SystemJs 导入时找不到模块
为啥“(SystemJS)无法解析所有参数”发生在Angular2中
Angular2 中对 SystemJS 的需求是啥?
提前编译时出现 SystemJS 错误(NgZone 没有提供程序)