Angular 2运行代码遇TS1109/TS1146/TS1161错误求排查方案
解决Angular 2中的TypeScript语法错误
嘿,我来帮你捋捋这个问题!你遇到的这几个TypeScript错误(TS1109、TS1146、TS1161)都明确指向了app.component.ts的第3行,但你贴出来的代码是34-42行的onSubmit方法——这段代码本身看起来没啥语法问题,解构参数和subscribe的写法都是正确的,所以问题肯定出在文件开头的第3行里!
先给你拆解下这几个错误的意思:
- TS1109: Expression expected:TypeScript期望这里有一个合法的表达式,说明第3行某个位置的语法不符合规则,可能多了/少了符号
- TS1146: Declaration expected:期望这里是一个声明语句(比如变量、导入、类声明等),可能你在第3行写了不符合声明规范的内容
- TS1161: Unterminated regular expression:正则表达式没有闭合,比如你写了
/pattern但忘了加结尾的/,导致解析器认为这个正则还没写完
接下来你要做的就是:
- 打开
app.component.ts文件,直接定位到第3行 - 检查这一行的代码:
- 是不是导入语句写错了?比如
import { xxx } from '...'里的括号、引号有没有问题 - 有没有不小心写了半个正则表达式?比如
const regex = /test(缺了结尾的/) - 有没有多余的符号(比如分号、括号)或者缺少必要的语法结构
- 是不是导入语句写错了?比如
举个常见的错误例子,如果第3行是这样的:
import { RoomSearch / } from './room-search.model';
或者:
const searchPattern = /room;
都会触发你遇到的这些错误。
修正第3行的语法问题后,这些TypeScript错误应该就能消失啦!
内容的提问来源于stack exchange,提问作者kurt estacion
相关产品推荐
相关产品推荐

