加载应用程序时出现此错误。我已经参考了路由器参考:3.0.0-beta.1
加载应用程序时浏览器控制台中的错误
index.html:24 Error: SyntaxError: Unexpected token <
at Object.eval (http://localhost:49928/app/main.js:7:36)
at eval (http://localhost:49928/app/main.js:14:4)
at eval (http://localhost:49928/app/main.js:15:3)
Evaluating http://localhost:49928/lib/@angular/platform-browser-dynamic/platform-browser-dynamic.umd.js
Evaluating http://localhost:49928/app/main.js
Error loading http://localhost:49928/app/main.js
在错误消息中,它指出“评估http://localhost:49928/lib/@angular/platform-browser-dynamic/platform-browser-dynamic.umd.js”,但在我的 wwwroot / lib / @ angular / platform-browser-dynamic 文件夹中没有* .umd.js文件已存在。如何在该位置获取此文件?
我的菜单路由器提供程序组件
import { provideRouter, RouterConfig } from '@angular/router';
import { AboutComponent} from './About';
import { AboutHomeComponent } from './AboutHome';
import { AboutItemComponent } from './AboutItem';
import { HomeComponent } from './Home';
export const routes: RouterConfig = [
{ path: '', component: HomeComponent },
{
path: 'about',
component: AboutComponent,
children: [
{ path: '', component: AboutHomeComponent },
{ path: 'item/:id', component: AboutItemComponent }
]
}
];
export const APP_ROUTER_PROVIDERS = [
provideRouter(routes)
];
我的package.json是
{
"name": "Firebolkt",
"version": "1.0.0",
"dependencies": {
"@angular/common": "2.0.0-rc.4",
"@angular/compiler": "2.0.0-rc.4",
"@angular/core": "2.0.0-rc.4",
"@angular/http": "2.0.0-rc.4",
"@angular/platform-browser": "2.0.0-rc.4",
"@angular/platform-browser-dynamic": "2.0.0-rc.4",
"@angular/router": "3.0.0-beta.1",
"@angular/router-deprecated": "2.0.0-rc.2",
"@angular/upgrade": "2.0.0-rc.1",
"@angular/forms": "0.2.0",
"systemjs": "0.19.27",
"core-js": "^2.4.0",
"reflect-metadata": "^0.1.3",
"rxjs": "5.0.0-beta.6",
"zone.js": "^0.6.12",
"bootstrap": "^3.3.6"
},
"devDependencies": {
"gulp": "^3.9.1",
"q": "^1.4.1",
"rimraf": "^2.5.2"
}
}
我的systemjs.config.js
(function (global) {
// map tells the System loader where to look for things
var map = {
'app': 'app', // 'dist',
'@angular': 'lib/@angular',
'rxjs': 'lib/rxjs'
};
// packages tells the System loader how to load when no filename and/or no extension
var packages = {
'app': { main: 'main.js', defaultExtension: 'js' },
'rxjs': { defaultExtension: 'js' }
};
var ngPackageNames = [
'common',
'compiler',
'core',
'http',
'platform-browser',
'platform-browser-dynamic',
'router',
'router-deprecated',
'upgrade',
];
// Add package entries for angular packages
ngPackageNames.forEach(function (pkgName) {
packages['@angular/' + pkgName] = { main: pkgName + '.umd.js', defaultExtension: 'js' };
});
var config = {
map: map,
packages: packages
}
System.config(config);
})(this);
我甚至尝试清除node_modules和wwwroot / lib文件夹并再次执行,但我仍然遇到同样的错误。任何想法我为什么会收到这个错误?
答案 0 :(得分:3)
您收到错误,因为它尝试解析html 404响应。
您的systemJS配置已损坏。所有* .uml.js文件都在一个bundle文件夹中。所以你必须在你的函数中添加bundle路径:
packages['@angular/' + pkgName] = { main: 'bundle/'+ pkgName + '.umd.js', defaultExtension: 'js' };