创建的Node.js应用程序,从API中的HTML文件与数据获取数据,并创建表
我们正与此API工作:.js的应用程序,这将让来自API的用户列表,并与表创建一个从0 html文件的内容里面有关用户。
我已经写下来与读取HTML / CSS / JS这个任务和它的作品,现在我不知道如何与node.js中做现在,我只是有这样的代码:
const axios = require('axios');
const url = '';
axios.get(url)
.then(function (response) {
//console.log(response.data);
let arr = [];
arr = response.data;
fillTheTable(arr);
})
.catch((error) => console.log(error));
回答如下:
我会建议你使用一个最小的MVC应用程序快递:
在app.js
启动服务器:
var express = require('express');
var app = express();
var index = require('../controllers/index');
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'pug');
app.get('/', function (req, res) { // index url of your web app. Will call to index controller
index
});
app.listen(3000, function () {
console.log('Example app listening on port 3000!');
});
在controlles/index.js
您指定主网址的逻辑(让你的API的数据,并将其渲染到一个视图转换为HTML):
const axios = require('axios');
const asyncUtil = fn =>
function asyncUtilWrap (req, res, next, ...args) {
const fnReturn = fn(req, res, next, ...args)
return Promise.resolve(fnReturn).catch(next)
}
module.exports = {
index: asyncUtil(async (req, res, next) => {
let users = await axios(url)
res.render('index', {users})
})
}
您将指定在views/index.pug
哈巴狗查看HTML,将其转换为HTML:
table
thead
tr
th Id
th Name
th Username
tbody
each user in users // iterate through users json
tr
td #{user.id}
td #{user.name}
td #{user.username}