Angular:在 Chrome 的严格模式之外尚不支持块范围的声明
Posted
技术标签:
【中文标题】Angular:在 Chrome 的严格模式之外尚不支持块范围的声明【英文标题】:Angular: Block-scoped declarations not yet supported outside strict mode in Chrome 【发布时间】:2017-08-16 05:41:06 【问题描述】:我正在关注Angular Tour of Heroes tutorial。
加载应用程序 localhost:3000 后,我立即在 Chrome 浏览器 (v47) 中收到以下错误。相同的应用程序在 Firefox (v45) 中不会产生错误:
SyntaxError:块范围的声明(let、const、函数、类) 在 eval (native) 处尚不支持外部严格模式 SystemJSLoader.__exec (http://localhost:3000/node_modules/systemjs/dist/system.src.js:1555:18) 在 entry.execute (http://localhost:3000/node_modules/systemjs/dist/system.src.js:4035:18) 在链接动态模块 (http://localhost:3000/node_modules/systemjs/dist/system.src.js:3300:32) 在链接 (http://localhost:3000/node_modules/systemjs/dist/system.src.js:3135:11) 在 Object.execute (http://localhost:3000/node_modules/systemjs/dist/system.src.js:3510:13) 在 doDynamicExecute (http://localhost:3000/node_modules/systemjs/dist/system.src.js:766:25) 在链接 (http://localhost:3000/node_modules/systemjs/dist/system.src.js:964:20) 在 doLink (http://localhost:3000/node_modules/systemjs/dist/system.src.js:623:7) 在 updateLinkSetOnLoad (http://localhost:3000/node_modules/systemjs/dist/system.src.js:669:18) 在 http://localhost:3000/node_modules/systemjs/dist/system.src.js:485:11 在 ZoneDelegate.invoke (http://localhost:3000/node_modules/zone.js/dist/zone.js:334:26) 在 区域运行 (http://localhost:3000/node_modules/zone.js/dist/zone.js:126:43) 在 http://localhost:3000/node_modules/zone.js/dist/zone.js:713:57 在 ZoneDelegate.invokeTask (http://localhost:3000/node_modules/zone.js/dist/zone.js:367:31)
这是正在使用的 tsconfig.json 文件(在教程中提供):
"compilerOptions":
"target": "es5",
"module": "commonjs",
"moduleResolution": "node",
"sourceMap": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"lib": [ "es2015", "dom" ],
"noImplicitAny": true,
"suppressImplicitAnyIndexErrors": true
【问题讨论】:
【参考方案1】:尝试将"alwaysStrict":true
添加到您的 tsconfig。正如它错误所说,您需要使用严格模式,此选项将为您完成。
'use strict';
【讨论】:
'use strict' 被添加到编译的 javascript 文件中,但遗憾的是报告了同样的错误以上是关于Angular:在 Chrome 的严格模式之外尚不支持块范围的声明的主要内容,如果未能解决你的问题,请参考以下文章
未捕获的语法错误:在严格模式之外尚不支持块范围的声明(let、const、函数、类)[重复]
流星不会启动。 ejson.js 中的“在严格模式之外尚不支持块范围声明(let、const、函数、类)”