对于我来说,我的问题似乎很复杂,但是我认为对于有经验的nodejs开发人员来说,这很简单。我只想让我的api仅在url为/api/~
的情况下响应api调用,而在其他任何条件(例如/
或/somethingElse
或其他任何内容)下响应api文件。
我的代码:
var app = express();
app.get("/api/users", function (req, res) {
getUsers(function (err, users) {
if (err) {
return res.status(500).send('Error');
}
return res.json(users);
});
});
app.get("/api/user/:_id", function (req, res) {
getUserById(req.params._id, function (err, user) {
if (err) {
return res.status(500).send('Error');
}
return res.json(user);
});
});
谢谢
答案 0 :(得分:2)
据我所知,您正在寻找express.static
假设您有一个包含静态资产的“公共”目录。
公开
这是使它们都可访问的方法:
const path = require('path')
express.use(express.static(path.join(__dirname, 'public')))
注意:您指向公共目录的路径可能位于其他位置,只需将相关的路径参数添加到path.join()
。
现在可以访问以下内容:
See Express dos for static files
现在,由于您希望使用以/api
开头的各种路由,因此使用express.Router
可能会很有用。为每个基本路径创建一个express.Router()
。例如,为以'/ api'开头的路由创建一个名为apiRouter
的路由。定义路由器后,只需使用基本路径和app.use()
调用apiRouter
:
let apiRouter = express.Router()
// GET /api/users
apiRouter.get('/users', (res, res, next) => {})
// GET /api/users/:id
apiRouter.get('/users/:id', (req, res, next) => {})
// prefix apiRouter with '/api'
app.use('/api', apiRouter)
答案 1 :(得分:2)
在完成所有api路由后,您需要定义/路由,以提供静态文件
在您的情况下:
UIView.animate(withDuration: 0.5, delay: 0.0, options: [], animations: {
yourView.transform = CGAffineTransform.identity
}
在official docs中了解更多信息。
答案 2 :(得分:0)
我不明白你的话100%.. 我想你的话。
我认为您不是在api网址页面时就连接静态文件。 如果正确,请单击此页面。 How can I get Express.js to 404 only on missing routes?