Ich versuche, ein einfaches Testprojekt einzurichten, um ExcelJS über eine Browseranwendung zu testen, und für das Leben von mir kann ich nicht erreichen, dass Browserify ordnungsgemäß funktioniert.Probleme beim Einrichten eines einfachen Testprojekts - Exceljs und Browserify
ich bündeln meinen Code in eine Bundle-Datei mit den entsprechenden Anrufe erfordern und das resultierende Bündel führt den folgenden Fehler, wenn die Seite geladen wird:
Uncaught TypeError: Cannot read property 'prototype' of undefined
Dieser Fehler auf einem fs geworfen zu sein scheint. ReadStream-Methode?
Hier ist mein Code:
index.html
<!DOCTYPE html>
<head>
<title>Test Excel JS</title>
<meta charset="utf-8">
<meta name="description" content="">
<link rel="stylesheet" href="app.css">
</head>
<body>
<div>
<label>Test</label>
<button onclick="test()">Test this Stuff and Check your console log</button>
</div>
<script src="bundle.js"></script>
<script>
var test = function(){
var workbook = generateTestFile();
console.log(workbook);
};
</script>
</body>
</html>
app.js (Basis für bundle.js)
'use strict';
var Excel = require('exceljs');
var isBold = function(dataRow){
return dataRow.name === "Jeff";
};
var getRowColor = function(dataRow){
return dataRow.color;
};
var getCellColor = function(dataRow, cell){
return (dataRow.name === 'John' && cell.value === 0)? 'orange' : dataRow.color;
};
var getFont = function(isBold, color){
return {
name: 'Arial Black',
color: color,
family: 2,
size: 14,
bold: isBold
};
};
var getTestHeader = function(){
return [
{key: "id", header: "Id"},
{key: "name", header: "Name", width: 32},
{key: "color", header: "Color", width: 10}
];
};
var getTestData = function(){
return [
{
id: 0,
name: "John",
color: "green"
},
{
id: 1,
name: "Rehan",
color: "blue"
},
{
id: 2,
name: "Jeff",
color: "yellow"
}
];
};
var generateTestFile = function(){
var workbook = new Excel.Workbook();
var worksheet = workbook.addWorksheet('Sheet 1');
//Set Column Headers
worksheet.columns = getTestHeader();
//Add Rows
var testData = getTestData();
var length = testData.length;
for(var i = 0; i < length; i++){
worksheet.addRow(testData[i]);
}
//Format Rows
worksheet.eachRow(function(row, rowNumber){
console.log(row);
var isBold = isBold(row);
var rowColor = getRowcolor(row);
row.eachCell(function(cell, colNumber){
var cellColor = getCellColor(row, cell);
console.log(cell);
});
});
return workbook;
};
Wie bekomme ich diese Arbeit? Alles, was ich wirklich tun möchte, ist das Testen von Excel. Es ist mir egal, was die Lösung ist, solange ich bestätigen kann, dass die Bibliothek funktioniert, werde ich glücklich sein.
Großartig, danke! Und danke für all die zusätzlichen Bits, rettete mir auch den Kopfschmerz im Umgang mit den kleineren Bugs zusätzlich –