TS1146:预期声明.. 为啥?

Posted

技术标签:

【中文标题】TS1146:预期声明.. 为啥?【英文标题】:TS1146: Declaration expected .. why?TS1146:预期声明.. 为什么? 【发布时间】:2018-04-18 21:52:18 【问题描述】:

我有一个小问题。

我可能是因为我累了,抱歉,我找不到解决办法。 有人可以帮助我吗?

我有这个文件:src/app/app.module.ts

import  BrowserModule  from '@angular/platform-browser';
import  NgModule  from '@angular/core';
import  NgClass  from '@angular/common';
import  AppComponent  from './app.component';
import  ServerComponent  from './server/server.component';
@NgModule(
    declarations: [
        AppComponent,
        ServerComponent
    ],
    imports: [
        BrowserModule
    ],
    providers: [],
    bootstrap: [AppComponent]
)
export class AppModule  

在这个组件内部,我创建了一个新组件,当然作为示例。

src/app/server/server.component.ts

import  Component  from '@angular/core';
@Component(
 selector: 'app-server',
 templateUrl: ''
);
export class ServerComponent 
;

src/app/server/serve.component.html

<p>
 Start simple
</p>

超级简单,对吧?我同意。 但是当我尝试运行时,我得到了这个错误:

70% 构建模块 3/3 模块 0 活动错误 src/app/server/server.component.ts(6,3):错误 TS1146:声明 预计。

系统找不到文件(server.component.ts),但我确实把路径正确放在这里了(src/app/app.module.ts ),我做了声明,我做了 import Component from '@angular/core'; ,所以..缺少什么?看不懂。

谢谢大家。

【问题讨论】:

不要在标题中添加“已解决”。将问题标记为已解决的正确方法是提供答案并接受它。 【参考方案1】:

有时额外的大括号会引发此类错误。 棱角分明

【讨论】:

【参考方案2】:

你不应该在导出前放分号

import  Component  from '@angular/core';
@Component(
 selector: 'app-server',
 templateUrl: ''
 )
 export class ServerComponent 
 ;

【讨论】:

以上是关于TS1146:预期声明.. 为啥?的主要内容,如果未能解决你的问题,请参考以下文章

为啥 Apache 忽略我的 VirtualHost 声明?

在全局声明 typescript .d.ts 中声明进程变量

ts类型声明

TypeScript教程# 3:TS的类型声明

声明游标时使用变量

合并声明“DepartmentListComponent”中的单个声明必须全部导出或全部为 local.ts(2395) 路由组件