угловая сборка с AOT не компилирует обещания - PullRequest
0 голосов
/ 27 мая 2019

я использую эту библиотеку https://www.npmjs.com/package/exceljs

для экспорта файлов Excel в угловых и я сталкиваюсь с ошибкой при компиляции с AOT, библиотека обещаний exceljs просто не работает, и обещание не решается. при компиляции с JIT все отлично работает

import { Workbook } from 'exceljs';

   //Create workbook and worksheet
    let workbook: Workbook = new Workbook();
    let worksheet = workbook.addWorksheet('ulist');
    worksheet.columns = [
        { header: 'test', key: 'NameField' },
        { header: 'display', key: 'FieldDisplay', width: 15 },
        { header: 'package', key: 'Field' },
        { header: 'namecus', key: 'NAMEField' },
        { header: 'status, key: 'DescField', width: 10 }
    ];
   //Add Header Row
    let headerRow = worksheet.getRow(1);

    // Cell Style : Fill and Border
    headerRow.eachCell((cell, number) => {
        cell.fill = {
            type: 'pattern',
            pattern: 'solid',
            fgColor: { argb: 'FF0000' },
            bgColor: { argb: 'FF0000' }
        }
        cell.border = { top: { style: 'thin' }, left: { style: 'thin' }, bottom: { style: 'thin' }, right: { style: 'thin' } }
    });
    // Add Data and Conditional Formatting
    arrayForExcel.forEach(d => {
        let row = worksheet.addRow(d);
        row.eachCell((cell) => {
            cell.border = { top: { style: 'thin' }, left: { style: 'thin' }, bottom: { style: 'thin' }, right: { style: 'thin' } }
        });
    });

     //Generate Excel File with given name 
    workbook.xlsx.writeBuffer().then((data) => { <<---THIS PROMISE NOT GETTING RESOLVED ON AOT COMPILE 
        console.log("let blob");
        let blob = new Blob([data], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });
        fs.saveAs(blob, 'ulist.xlsx');
    });

workbook.xlsx.writeBuffer() обещание не разрешается при компиляции AOT. Я понятия не имею, почему, в JIT complie все работает нормально.

я попытался изменить в tsconfig "target": "es5" на "es6" но, похоже, не работает Любая идея?

...