XHR 错误 (404 Not Found) 加载 http://localhost:3000/traceur [英] XHR error (404 Not Found) loading http://localhost:3000/traceur
问题描述
当我尝试在代码中使用 Angular Material 时出现以下错误.
<预>zone.js:101 GET http://localhost:3000/traceur 404 (Not Found)scheduleTask @ zone.js:101ZoneDelegate.scheduleTask @ zone.js:345Zone.scheduleMacroTask @ zone.js:282(匿名函数) @ zone.js:122send @VM437:3fetchTextFromURL @system.src.js:1156(匿名函数)@system.src.js:1739ZoneAwarePromise@zone.js:607(匿名函数)@system.src.js:1738(匿名函数)@system.src.js:2764(匿名函数)@system.src.js:3338(匿名函数)@system.src.js:3605(匿名函数)@system.src.js:3990(匿名函数)@system.src.js:4453(匿名函数)@system.src.js:4705(匿名函数)@system.src.js:408ZoneDelegate.invoke@zone.js:332Zone.run@zone.js:225(匿名函数)@zone.js:591ZoneDelegate.invokeTask @ zone.js:365Zone.runTask @ zone.js:265drainMicroTaskQueue @ zone.js:497ZoneTask.invoke @ zone.js:437登录:15 错误:错误:XHR 错误(404 未找到)正在加载 http://localhost:3000/traceur在 XMLHttpRequest.wrapFn [as _onreadystatechange] (http://localhost:3000/node_modules/zone.js/dist/zone.js:794:30)在 ZoneDelegate.invokeTask (http://localhost:3000/node_modules/zone.js/dist/zone.js:365:38)在 Zone.runTask (http://localhost:3000/node_modules/zone.js/dist/zone.js:265:48)在 XMLHttpRequest.ZoneTask.invoke (http://localhost:3000/node_modules/zone.js/dist/zone.js:433:34)加载 http://localhost:3000/traceur 时出错从 http://localhost:3000/app/assets/js/app.module 加载 http://localhost:3000/node_modules/@angular2-material/button/button.js 为@angular2-material/button"时出错.js(匿名函数) @ login:15ZoneDelegate.invoke @ zone.js:332Zone.run @ zone.js:225(匿名函数) @ zone.js:591ZoneDelegate.invokeTask @ zone.js:365Zone.runTask @ zone.js:265drainMicroTaskQueue @ zone.js:497ZoneTask.invoke @ zone.js:437代码如下:
app.component.ts:
app.module.ts:
<预>从'@angular/core' 导入 { NgModule };从'@angular/platform-browser' 导入 { BrowserModule };从'@angular/forms'导入{FormsModule};从'@angular/http'导入{HttpModule};从 '@angular2-material/button' 导入 { MdButtonModule };从'./app.routing'导入{路由,appRoutingProviders};从 './app.component' 导入 { AppComponent };import { LoginModule } from './login/login.module';从 './home/home.module' 导入 { HomeModule };从'./items/items.module'导入{ItemsModule};从'./movies/movies.module'导入{电影模块};@NgModule({进口:[ BrowserModule, FormsModule, HttpModule, MdButtonModule, 路由, LoginModule, HomeModule, ItemsModule, MoviesModule ],声明:[ AppComponent ],提供者:[ appRoutingProviders ],引导程序:[ AppComponent ],})导出类 AppModule {}app.routing.ts:
<预>从'@angular/core' 导入 { ModuleWithProviders };从'@angular/router' 导入 { Routes, RouterModule };const appRoutes: 路由 = [];导出 const appRoutingProviders: any[] = [];导出常量路由: ModuleWithProviders = RouterModule.forRoot(appRoutes);main.ts:
<预>从@angular/platform-browser-dynamic"导入{platformBrowserDynamic};从 './app.module' 导入 { AppModule };const 平台 = platformBrowserDynamic();platform.bootstrapModule(AppModule);system.config.js:
<预>/*** Angular 2 示例的系统配置* 根据您的应用需求进行必要的调整.*/(功能(全局){系统配置({路径:{//路径作为别名'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','@angular2-material': 'npm:@angular2-material',//其他库'rxjs': 'npm:rxjs','angular2-in-memory-web-api': 'npm:angular2-in-memory-web-api',},//包告诉系统加载器在没有文件名和/或没有扩展名时如何加载包:{应用程序: {主要:'./main.js',默认扩展:'js'},rxjs:{主要:'main.js',默认扩展:'js'},'angular2-in-memory-web-api':{主要:'./index.js',默认扩展:'js'},'@angular2-材料/核心':{主要:'core.js',默认扩展:'js'},'@angular2-材料/按钮':{主要:'button.js',默认扩展:'js'},'@angular2-材料/卡片':{主要:'card.js',默认扩展:'js'}}});})(这个);在app.module.ts"的导入列表中添加 MdButtonModule
后,我开始收到错误消息.
更新 2.0.0-alpha.9 Cobalt-kraken (2016-09-26)
<块引用>Angular Material 已从 @angular2-material/... 包更改为@angular/material
下的单个包因此您的配置可能如下所示:
(函数(全局){系统配置({路径:{//路径作为别名'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','@angular/material': 'npm:@angular/material/bundles/material.umd.js', <== 这一行...},...});})(这个);
并像使用它一样
import { MaterialModule } from '@angular/material';@NgModule({进口:[ BrowserModule, MaterialModule ],声明:[ AppComponent ],引导程序:[ AppComponent ]})导出类 AppModule { }
旧版本
从 angular2-material alpha 8 开始,您需要使用以下配置:
materialPackages.forEach(name => {包[`@angular2-material/${name}`] = {格式:'cjs',主要:`${name}.umd.js`};});
另见变更日志
<块引用>all:我们已经更新了我们的包装以匹配 angular/angular 的包装.如果你在你的项目中使用 SystemJS,你可能想要改用我们的 UMD 捆绑包
所以你必须改变你的
system.config.js
包:{...'@angular2-材料/核心':{格式:'cjs',主要:'core.umd.js'},'@angular2-材料/按钮':{格式:'cjs',主要:'button.umd.js'},'@angular2-材料/卡片':{格式:'cjs',主要:'card.umd.js'},...
I'm getting following error when I'm trying to use Angular Material in the code.
zone.js:101 GET http://localhost:3000/traceur 404 (Not Found)scheduleTask @ zone.js:101ZoneDelegate.scheduleTask @ zone.js:345Zone.scheduleMacroTask @ zone.js:282(anonymous function) @ zone.js:122send @ VM437:3fetchTextFromURL @ system.src.js:1156(anonymous function) @ system.src.js:1739ZoneAwarePromise @ zone.js:607(anonymous function) @ system.src.js:1738(anonymous function) @ system.src.js:2764(anonymous function) @ system.src.js:3338(anonymous function) @ system.src.js:3605(anonymous function) @ system.src.js:3990(anonymous function) @ system.src.js:4453(anonymous function) @ system.src.js:4705(anonymous function) @ system.src.js:408ZoneDelegate.invoke @ zone.js:332Zone.run @ zone.js:225(anonymous function) @ zone.js:591ZoneDelegate.invokeTask @ zone.js:365Zone.runTask @ zone.js:265drainMicroTaskQueue @ zone.js:497ZoneTask.invoke @ zone.js:437 login:15 Error: Error: XHR error (404 Not Found) loading http://localhost:3000/traceur at XMLHttpRequest.wrapFn [as _onreadystatechange] (http://localhost:3000/node_modules/zone.js/dist/zone.js:794:30) at ZoneDelegate.invokeTask (http://localhost:3000/node_modules/zone.js/dist/zone.js:365:38) at Zone.runTask (http://localhost:3000/node_modules/zone.js/dist/zone.js:265:48) at XMLHttpRequest.ZoneTask.invoke (http://localhost:3000/node_modules/zone.js/dist/zone.js:433:34) Error loading http://localhost:3000/traceur Error loading http://localhost:3000/node_modules/@angular2-material/button/button.js as "@angular2-material/button" from http://localhost:3000/app/assets/js/app.module.js(anonymous function) @ login:15ZoneDelegate.invoke @ zone.js:332Zone.run @ zone.js:225(anonymous function) @ zone.js:591ZoneDelegate.invokeTask @ zone.js:365Zone.runTask @ zone.js:265drainMicroTaskQueue @ zone.js:497ZoneTask.invoke @ zone.js:437
Below is the code:
app.component.ts:
import { Component, ViewEncapsulation } from '@angular/core'; import { MdButton } from '@angular2-material/button'; @Component({ selector: 'myApp', templateUrl: './app/app.html', styleUrls: ['./app/app.css'], encapsulation: ViewEncapsulation.None }) export class AppComponent { }
app.module.ts:
import { NgModule } from '@angular/core'; import { BrowserModule } from '@angular/platform-browser'; import { FormsModule } from '@angular/forms'; import { HttpModule } from '@angular/http'; import { MdButtonModule } from '@angular2-material/button'; import { routing, appRoutingProviders } from './app.routing'; import { AppComponent } from './app.component'; import { LoginModule } from './login/login.module'; import { HomeModule } from './home/home.module'; import { ItemsModule } from './items/items.module'; import { MoviesModule } from './movies/movies.module'; @NgModule({ imports: [ BrowserModule, FormsModule, HttpModule, MdButtonModule, routing, LoginModule, HomeModule, ItemsModule, MoviesModule ], declarations: [ AppComponent ], providers: [ appRoutingProviders ], bootstrap: [ AppComponent ], }) export class AppModule {}
app.routing.ts:
import { ModuleWithProviders } from '@angular/core'; import { Routes, RouterModule } from '@angular/router'; const appRoutes: Routes = []; export const appRoutingProviders: any[] = []; export const routing: ModuleWithProviders = RouterModule.forRoot(appRoutes);
main.ts:
import {platformBrowserDynamic} from '@angular/platform-browser-dynamic'; import { AppModule } from './app.module'; const platform = platformBrowserDynamic(); platform.bootstrapModule(AppModule);
system.config.js:
/** * System configuration for Angular 2 samples * Adjust as necessary for your application needs. */ (function (global) { System.config({ paths: { // paths serve as alias 'npm:': 'node_modules/' }, // map tells the System loader where to look for things map: { // our app is within the app folder app: 'app', // angular bundles '@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', '@angular2-material': 'npm:@angular2-material', // other libraries 'rxjs': 'npm:rxjs', 'angular2-in-memory-web-api': 'npm:angular2-in-memory-web-api', }, // packages tells the System loader how to load when no filename and/or no extension packages: { app: { main: './main.js', defaultExtension: 'js' }, rxjs: { main: 'main.js', defaultExtension: 'js' }, 'angular2-in-memory-web-api': { main: './index.js', defaultExtension: 'js' }, '@angular2-material/core': { main: 'core.js', defaultExtension: 'js' }, '@angular2-material/button': { main: 'button.js', defaultExtension: 'js' }, '@angular2-material/card': { main: 'card.js', defaultExtension: 'js' } } }); })(this);
As soon as I add MdButtonModule
in imports list of "app.module.ts", I start getting the error.
Update 2.0.0-alpha.9 cobalt-kraken (2016-09-26)
Angular Material has changed from @angular2-material/... packages to a single package under @angular/material
So your config might look like:
(function (global) {
System.config({
paths: {
// paths serve as alias
'npm:': 'node_modules/'
},
// map tells the System loader where to look for things
map: {
// our app is within the app folder
app: 'app',
// angular bundles
'@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',
'@angular/material': 'npm:@angular/material/bundles/material.umd.js', <== this line
...
},
...
});
})(this);
And use it like
import { MaterialModule } from '@angular/material';
@NgModule({
imports: [ BrowserModule, MaterialModule ],
declarations: [ AppComponent ],
bootstrap: [ AppComponent ]
})
export class AppModule { }
Old version
Starting with angular2-material alpha 8 you need to use the following configuration:
materialPackages.forEach(name => {
packages[`@angular2-material/${name}`] = {
format: 'cjs',
main: `${name}.umd.js`
};
});
See also the changelog
all: we've updated our packaging to match angular/angular's packaging. If you're using SystemJS in your project, you will probably want to switch to using our UMD bundles
So you have to change your
system.config.js
packages: {
...
'@angular2-material/core': {
format: 'cjs',
main: 'core.umd.js'
},
'@angular2-material/button': {
format: 'cjs',
main: 'button.umd.js'
},
'@angular2-material/card': {
format: 'cjs',
main: 'card.umd.js'
},
...
这篇关于XHR 错误 (404 Not Found) 加载 http://localhost:3000/traceur的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!