使用nodejs和cointicker将数据保存到json

我正在学习nodejs,我正在创build一个服务器来使用名为Coin-Ticker的npm来获得encryption货币的价格。 我想在Angular应用程序中使用我得到的数据,但它不会在html中显示数据。 这是我的代码:

server.js

const express = require('express'); const path = require('path'); const http = require('http'); const bodyParser = require('body-parser'); const coinTicker = require('coin-ticker'); const api = require('./server/routes/api'); const app = express(); app.use(bodyParser.json()); app.use(bodyParser.urlencoded({ extended: false })); app.use(express.static(path.join(__dirname, 'dist'))); app.use('/api', api); app.get('*', (req, res) => { res.sendFile(path.join(__dirname, 'dist/index.html')); }); const port = process.env.PORT || '3000'; app.set('port', port); const server = http.createServer(app); server.listen(port, () => console.log(`API running on localhost:${port}`)); 

API.JS

 const express = require('express'); const router = express.Router(); const coinTicker = require('coin-ticker'); /* GET api listing. */ router.get('/', (req, res) => { res.send('api works'); }); router.get((req, res) => { coinTicker('bitfinex', 'BTC_USD') .then(posts => { res.status(200).json(posts.data); }) .catch(error => { res.status(500).send(error) }); }); module.exports = router; 

谢谢你的帮助!

这是因为硬币报价器返回当时的JSON所以当你正在做res.status(200).json(posts.data); 它返回undefined。 只需用res.status(200).json(posts)replace,它应该工作

你也不能这样做router.get((req, res) => {在这之前你需要一个path,我用router.get('/convert', (req, res) => {在它上面工作