我构建了一个index.js文件,该文件在使用Postman发布时根据正文输入发送短信。代码正常工作,看起来像这样(我已经隐藏了我的apiKey和apiSecret用于此预览)
const express = require('express');
const bodyParser = require('body-parser');
const app = express();
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
const Nexmo = require('nexmo');
const nexmo = new Nexmo({
apiKey: 'hidden.apiKey',
apiSecret: 'hidden.apiSecret'
});
app.post('/send', (req, res) => {
// Sending SMS via Nexmo
nexmo.message.sendSms(
'4542542445', req.body.toNumber, req.body.message, {type: 'unicode'},
(err, responseData) => {if (responseData) {console.log(responseData)}}
);
});
const server = app.listen(3000);
console.log("starting server")
它很好,我在运行文件时收到短信,并使用邮差发送到路线。
我正在尝试在我的大项目中实现相同的功能,我在其中有单独的客户端和服务器文件夹代表我的前端和后端。
当我将代码添加到app.js文件时,我遇到状态代码404未找到错误。这是我app.js的代码:
const express = require('express')
const bodyParser = require('body-parser')
const cors = require('cors')
const morgan = require('morgan')
const {sequelize} = require('./models')
const config = require('./config/config')
const Nexmo = require('nexmo')
const app = express()
app.use(morgan('combined'))
app.use(bodyParser.json())
app.use(bodyParser.urlencoded({ extended: false}))
app.use(cors())
require('./routes')(app)
sequelize.sync()
.then(() => {
app.listen(config.port)
console.log(`Server started on port ${config.port}`)
})
const nexmo = new Nexmo({
apiKey: 'hidden.apiKey',
apiSecret: 'hidden.apiSecret'
}, {debug: true})
app.post('/send', (req, res) => {
// Sending SMS via Nexmo
nexmo.message.sendSms(
'4542542445', req.body.toNumber, req.body.message, {type: 'unicode'},
(err, responseData) => {if (responseData) {console.log(responseData)}}
);
});
我正在寻求帮助,试图找出错误的原因以及为什么它没有到达路线,而是返回状态代码404.
我可以分享我的github,或者我们可以谈论不和谐:soko#8667
感谢您的想法和帮助。
答案 0 :(得分:0)
快递路线应写明:
let route = require('routes');
app.use('/', route);
答案 1 :(得分:0)
我设法让它发挥作用。
我在服务器运行时添加了新路由。
我重新启动了我的电脑,再次运行服务器和客户端,看起来很有效。