角度 2 beta 即 10 “潜在未处理的拒绝 [3] 语法错误:预期”
angular 2 beta ie 10 "Potentially unhandled rejection [3] SyntaxError: Expected"
这是一个 Angular 2 Beta 问题。 起初我特别笼统,希望这是一个已知错误,我只是在所有搜索中都错过了一些东西。 当 Angular 2 Beta.0 问世时,我使用 IE10 在我的应用程序中运行了一个非常简单的模块。 它基本上打印了类似"我的第一个模块"的东西。
当 Angular 2 Beta.1 问世时,我尝试运行相同的代码并得到以下错误。 这在 Angular2 2.0.0-beta.2 和 angular2 2.0.0-beta.3 中也发生:
EXCEPTION: SyntaxError: Expected ';'
堆栈跟踪:
SyntaxError: Expected ';'
at evalExpression (.../js/angular/angular2/bundles/angular2.dev.js:452:5)
at _createViewFactoryRuntime (.../js/angular/angular2/bundles/angular2.dev.js:24190:9)
at Anonymous function (.../js/angular/angular2/bundles/angular2.dev.js:24144:13)
at run (.../js/angular/angular2/bundles/angular2-polyfills.js:1243:14)
at Anonymous function (.../js/angular/angular2/bundles/angular2.dev.js:13408:15)
at zoneBoundFn (.../js/angular/angular2/bundles/angular2-polyfills.js:1220:14)
at lib$es6$promise$$internal$$tryCatch (.../js/angular/angular2/bundles/angular2-polyfills.js:468:10)
at lib$es6$promise$$internal$$invokeCallback (.../js/angular/angular2/bundles/angular2-polyfills.js:480:10)
at Anonymous function (.../js/angular/angular2/bundles/angular2-polyfills.js:1028:14)
at Anonymous function (.../js/angular/angular2/bundles/angular2-polyfills.js:123:10)
-----异步间隙-----
Error
at _getStacktraceWithCaughtError (.../js/angular/angular2/bundles/angular2-polyfills.js:2240:10)
at Anonymous function (.../js/angular/angular2/bundles/angular2-polyfills.js:2285:14)
at bind (.../js/angular/angular2/bundles/angular2-polyfills.js:1218:10)
at bindArguments (.../js/angular/angular2/bundles/angular2-polyfills.js:1401:14)
at Anonymous function (.../js/angular/angular2/bundles/angular2-polyfills.js:1413:18)
at Anonymous function (.../js/angular/angular2/bundles/angular2.dev.js:24142:11)
at run (.../js/angular/angular2/bundles/angular2-polyfills.js:1243:14)
at Anonymous function (.../js/angular/angular2/bundles/angular2.dev.js:13408:15)
at zoneBoundFn (.../js/angular/angular2/bundles/angular2-polyfills.js:1220:14)
at lib$es6$promise$$internal$$tryCatch (.../js/angular/angular2/bundles/angular2-polyfills.js:468:10)
-----异步间隙-----
Error
at _getStacktraceWithCaughtError (.../js/angular/angular2/bundles/angular2-polyfills.js:2240:10)
at Anonymous function (.../js/angular/angular2/bundles/angular2-polyfills.js:2285:14)
at bind (.../js/angular/angular2/bundles/angular2-polyfills.js:1218:10)
at bindArguments (.../js/angular/angular2/bundles/angular2-polyfills.js:1401:14)
at Anonymous function (.../js/angular/angular2/bundles/angular2-polyfills.js:1413:18)
at _compileComponentRuntime (.../js/angular/angular2/bundles/angular2.dev.js:24131:9)
at _compileNestedComponentRuntime (.../js/angular/angular2/bundles/angular2.dev.js:24159:7)
at Anonymous function (.../js/angular/angular2/bundles/angular2.dev.js:24140:13)
at forEach (.../js/angular/es6-shim/es6-shim.min.js:10:16871)
at Anonymous function (.../js/angular/angular2/bundles/angular2.dev.js:24139:11)
-----异步间隙-----
Error
at _getStacktraceWithCaughtError (.../js/angular/angular2/bundles/angular2-polyfills.js:2240:10)
at Anonymous function (.../js/angular/angular2/bundles/angular2-polyfills.js:2285:14)
at bind (.../js/angular/angular2/bundles/angular2-polyfills.js:1218:10)
at bindArguments (.../js/angular/angular2/bundles/angular2-polyfills.js:1401:14)
at Anonymous function (.../js/angular/angular2/bundles/angular2-polyfills.js:1413:18)
at _compileComponentRuntime (.../js/angular/angular2/bundles/angular2.dev.js:24131:9)
at compileHostComponentRuntime (.../js/angular/angular2/bundles/angular2.dev.js:24085:9)
at compileInHost (.../js/angular/angular2/bundles/angular2.dev.js:24436:7)
at loadAsRoot (.../js/angular/angular2/bundles/angular2.dev.js:12326:7)
at useFactory (.../js/angular/angular2/bundles/angular2.dev.js:12424:9)
-----异步间隙-----
Error
at _getStacktraceWithCaughtError (.../js/angular/angular2/bundles/angular2-polyfills.js:2240:10)
at Anonymous function (.../js/angular/angular2/bundles/angular2-polyfills.js:2285:14)
at _createInnerZone (.../js/angular/angular2/bundles/angular2.dev.js:13396:7)
at NgZone (.../js/angular/angular2/bundles/angular2.dev.js:13262:9)
at createNgZone (.../js/angular/angular2/bundles/angular2.dev.js:12446:5)
at application (.../js/angular/angular2/bundles/angular2.dev.js:12521:7)
at bootstrap (.../js/angular/angular2/bundles/angular2.dev.js:24631:5)
at main (Unknown script code:9:9)
at Anonymous function (.../communicationReport.do?dispatch=showCommunicationCounts&wsession=new&entityId=10009ndlgxmw:34:14)
at run (.../js/angular/angular2/bundles/angular2-polyfills.js:1243:14)
我正在加载的文件(与 Angular 2 Beta.0、Angular 2 Beta.1、Angular 2 Beta.2 相同(是:
<script src="js/angular/es6-shim/es6-shim.min.js"></script>
<script src="js/angular/systemjs/dist/system-polyfills.js"></script>
<script src="js/angular/angular2/bundles/angular2-polyfills.js"></script>
<script src="js/angular/systemjs/dist/system.src.js"></script>
<script src="js/angular/rxjs/bundles/Rx.js"></script>
<script src="js/angular/angular2/bundles/angular2.dev.js"></script>
更新:我的boot.ts看起来像:
import {bootstrap} from 'angular2/platform/browser';
import {CountsComponent} from './counts.component';
export function main() {
bootstrap( CountsComponent );
}
我的counts.component.ts文件看起来像:
import {Component} from 'angular2/core';
@Component({
selector: 'counts',
template: '<h1>Landing Page1</h1>'
})
export class CountsComponent { }
初始 html 看起来像
<script>
System.config({
transpiler: 'typescript',
typescriptOptions: { emitDecoratorMetadata: true },
packages: {'modules/counts': {
format: 'register',
defaultExtension: 'js'}}
});
System.import('modules/counts/boot')
.then(function( bootstrap ) {
bootstrap.main();
}, console.error.bind(console));
</script>
</head>
<!-- 3. Display the application -->
<body class="counts">
<counts>Loading 1...</counts>
</body>
这是一个已知问题吗? 它有修复吗? 您需要更多信息吗?
我有同样的问题。在 plunker 中找到了一个快速修复。在 plunker 示例中的 es6-shim.min.js 脚本之前插入以下代码:
<script>
if (!Function.name) {
Object.defineProperty(Function.prototype, "name", {
get: function () {
var result = this.toString();
var results = /function (.{1,})'(/.exec(this.toString());
return (results && results.length > 1) ? results[1] : result;
}
});
} else if (navigator.userAgent.indexOf("Trident") != -1) {
console.warn("QUICK FIX NAME ON FUNCTION IS OBSOLETE.");
}
</script>
此快速修复不能解决 angular 2 和 IE 的所有问题。希望这是一些帮助...
在 angular 版本 2.0.0-beta.8 中通过包括以下内容解决了问题:
Angular2/ES6/dev/src/testing/shims_for_ie.js
不再需要快速修复。
相关文章:
- 铬:“;未捕获的语法错误:意外的标记:"
- Javascript未捕获语法错误意外的标识符错误
- 为什么忽略了eval()代码中的语法错误
- 难以访问的JS环境中的语法错误
- 未捕获的语法错误:意外的标记{
- "未捕获的语法错误:意外的标记}"
- 未捕获的语法错误:无法在“文档”上执行“查询选择器”
- React JS:未捕获(在承诺中)语法错误:在位置 0 的 JSON 中意外<令牌
- $(input[]).仅在firefox中出现每个抛出语法错误
- 为什么浏览器没有为语法错误抛出异常
- 错误:语法错误,无法识别的表达式:不支持的伪:无效/RectJS/Unit Testing
- 未捕获的语法错误:意外的令牌,
- jQuery.getJSON失败,语法错误
- "未捕获的语法错误:意外的标记"角度JS
- 参数列表Three.js之后的未捕获语法错误:缺少)
- 循环的Javascript冻结浏览器,没有语法错误
- 为什么匿名函数本身就是javascript中的语法错误
- 这怎么不是语法错误?这毫无意义!(javascript)
- 语法错误:缺少:在属性 ID 之后
- 未捕获错误:语法错误,无法识别的表达式:input[@type=submit]