装饰器不支持对非导出类的引用

时间:2019-02-13 17:10:33

标签: angular typescript angular-cli

我最近将angular项目从自定义webpack配置升级到angular-cli。运行ng serve时一切正常,但是ng build --prod给出以下错误。

enter image description here

有人可以帮助我解决问题吗?

looger.ts

class Message {
    static show(name: string) {
        return (ref?: any, ...parameters: any[]): void => {
            //aadditional code
        };
    }
}

class Options {
    static level: string[] = ['error', 'warn', 'info', 'debug', 'log', 'dir'];
    static moduleNames: string[] = [];
    static set(level: string[], moduleNames?: string[]) {
        //aadditional code
    }
}

export const Log = {
    error: Message.show('error'),
    warn:  Message.show('warn'),
    info:  Message.show('info'),
    debug: Message.show('debug'),
    log:   Message.show('log'),
    dir:   Message.show('dir'),
    options: {
        set: Options.set
    }
};

app.module.ts

import {  Log as log } from 'logger';

@NgModule({
    providers: [
        { provide: log, useValue: log }
    ]
})
export class AppModule {
    constructor() {}
}

1 个答案:

答案 0 :(得分:1)

错误是导出。 因此,伙计们在类消息之前使用export关键字。

希望这将消除您在正式版或aot生成过程中的错误。