错误:SyntaxError:意外的令牌<

时间:2016-07-11 01:25:04

标签: angular angular2-routing

加载应用程序时出现此错误。我已经参考了路由器参考: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-b​​rowser-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文件夹并再次执行,但我仍然遇到同样的错误。任何想法我为什么会收到这个错误?

1 个答案:

答案 0 :(得分:3)

您收到错误,因为它尝试解析html 404响应。

您的systemJS配置已损坏。所有* .uml.js文件都在一个bundle文件夹中。所以你必须在你的函数中添加bundle路径:

packages['@angular/' + pkgName] = { main: 'bundle/'+ pkgName + '.umd.js', defaultExtension: 'js' };