我想为要在终端中显示的CLI表创建一个单独的模块。
我最初将其放入main.js文件中。但是由于我将在多个文件中使用它,因此我希望它成为一个独立模块,用作依赖项。
但是,它又返回错误,或者是forEach问题,参数“ res”或toString()的属性未定义。
如果我在main.js文件中的console.log(res),它将返回mysql数据库上的信息。
tables.js
let Table = require("cli-table");
let tables = (res) => {
let displayTable = new Table ({
head: ["ID", "Product Name", "Category", "Price", "Stock"],
colWidths: [5,46,15,9,9]
});
res.forEach(function(element) {
displayTable.push([element.product_id, element.product_name, element.category,
element.price, element.stock_quantity]);
});
console.log(displayTable.toString());
};
module.exports = { tables };
main.js
let connection = require ("./connection");
let displayTable = require("./tables");
connection.connect(err => {
if (err) throw err;
console.log(`Connected at port: ${connection.threadId}`);
});
let renderTable = () => {
connection.query("SELECT * FROM products", (err, res) => {
if (err) throw err;
displayTable.tables(res);
});
};
renderTable();