我正在尝试在我的管理应用中应用Angular 2路由,当我在某个路由上刷新页面,或者在url的末尾添加/时,我得到此异常
Error: SyntaxError: Unexpected token <(…) angular2-polyfills.js:1243
当我尝试打开site.dev/admin/
或site.dev/admin/roles/create
如果我打开site.dev/admin
它工作得很好,我可以导航到应用程序内部的site.dev/admin/create
并且工作正常,但是如果我刷新页面,我会收到此异常。
我有主html文件<base href="/admin">
如果我检查错误,我会看到无效的令牌'&lt;'实际上来自我的主html文件的<!DOCTYPE html
。
我试图禁用所有导入和自定义类,但问题相同。
在这个应用程序的后面,我使用Laravel 5.2,我的路由定义是这样的:
Route::any('admin/{any?}', ["as" => "admin.home", "uses" => '\App\Http\Controllers\HomeController@admin'])->where('any','(.*)?');
这将向site.com/admin/*
发送任何路由以加载相同的视图并显示主html文件。
在html文件中包含文件
<!-- 1. Load libraries -->
{!! HTML::script('es6-shim/es6-shim.min.js') !!}
{!! HTML::script('systemjs/dist/system-polyfills.js') !!}
{!! HTML::script('angular2/bundles/angular2-polyfills.js') !!}
{!! HTML::script('systemjs/dist/system.src.js') !!}
{!! HTML::script('rxjs/bundles/Rx.js') !!}
{!! HTML::script('angular2/bundles/angular2.dev.js') !!}
{!! HTML::script('angular2/bundles/router.dev.js') !!}
{!! HTML::script('angular2/bundles/http.dev.js') !!}
答案 0 :(得分:0)
如果您缺少某些<script>
导入,则会发生此错误。例如,当我从工作样本中的主index.html中删除它时,我得到完全相同的错误:
<script src="node_modules/rxjs/bundles/Rx.js"></script>
检查您是否正在导入您期望的所有内容。