使用 nodejs 和 cointicker 将数据保存到 json
Saving data to json using nodejs and cointicker
我正在学习 nodejs,我正在创建一个服务器来使用名为 Coin-Ticker 的 npm 获取加密货币的价格。我想使用我在 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;
感谢您的帮助!
这是因为 coin ticker returns 然后 json 所以当你做 res.status(200).json(posts.data);
它返回未定义。只需将其替换为 res.status(200).json(posts)
就可以了
你也做不到router.get((req, res) => {
在此之前你需要一条路。我试过这段代码
router.get('/convert', (req, res) => {
上面的更改生效了
我正在学习 nodejs,我正在创建一个服务器来使用名为 Coin-Ticker 的 npm 获取加密货币的价格。我想使用我在 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;
感谢您的帮助!
这是因为 coin ticker returns 然后 json 所以当你做 res.status(200).json(posts.data);
它返回未定义。只需将其替换为 res.status(200).json(posts)
就可以了
你也做不到router.get((req, res) => {
在此之前你需要一条路。我试过这段代码
router.get('/convert', (req, res) => {
上面的更改生效了