2017-12-31 169 views
7

में समर्थित नहीं हैं मैं -aot विकल्प (ng build -aot) के साथ अनुप्रयोग का निर्माण करने की कोशिश कर रहा हूँ। मैं निम्न त्रुटि मिल गया है:समारोह कॉल डेकोरेटर

ERROR in Error during template compile of 'MyComponent' 
    Function calls are not supported in decorators but 'classLogger' was called in 'cLog' 
    'cLog' calls 'classLogger'. 

हालांकि मैं इस कॉल की जरूरत है और मैं एक विचार मैं इसे कैसे काम करने के लिए कोड को बदलने के लिए चाहिए नहीं है।

export function classLogger(_classOptions?) { 
    const myLogger = new MyLogger(); 
    myLogger.options = Object.assign({}, defaultClassOptions, _classOptions); 

    return myLogger.loggerCB; 
} 

// export function clog(options = defaultClassOptions): Function { 
export function cLog(options?): Function { 
    return loggingEnabled ? classLogger(options) : emptyClassDecorator(); 
} 

पीएस कक्षा सजावट विकल्प लेता है जिसे सजावटी पैच कॉलबैक में स्थानांतरित किया जाना चाहिए।

+0

लगता है कि @ कोणीय/CLI 1.6.8 समस्या हल ... – zhekaus

उत्तर

0

मैं भी इस समस्या के साथ बारे में जाना। मेरी स्थिति में मैं BusyConfig पैराम्स को ओवरराइड करना चाहता हूं। ऐप ng serve के साथ ठीक से काम करता है लेकिन जब मैं उत्पादन Function calls are not supported in decorators but ... अपवाद के लिए ऐप बनाना चाहता हूं तो अपवाद होता है।

मेरे समाधान पीछा कर रहा है: ng build --prod --aot=false

The Angular Ahead-of-Time (AOT) compiler converts your Angular HTML and TypeScript code into efficient JavaScript code during the build phase before the browser downloads and runs that code.

ng build --prod में ही है के रूप में ng build --prod --aot

+0

आपका समाधान कुछ भी समाधान नहीं करता है। मैं विशेष रूप से एओटी का उपयोग करना चाहते हैं समस्या में आया था। उत्पादन के लिए एओटी आवश्यक है। – zhekaus

संबंधित मुद्दे