私はnode.jsの初心者ですが、ノード+エクスプレスjで構造をセットアップするのを少し難しくしています。フロントエンドと別のAPI構造で作業を始めます。 APIとフロントエンドの両方に対して単一のapp.jsを配置します。しかし、私のAPIは機能しません。私はhttp://localhost:3000/api/usersと呼ぶとエラーになります.GET/api/usersはできません。ノード+エクスプレスJS APIが機能していない
api
-controllers
-helpers
-middlewares
-models
-routes.js
app.js
controllers
helpers
middlewares
models
node_modules
package.json
public
views
app.js
var express = require('express')
, app = express()
, bodyParser = require('body-parser')
, port = process.env.PORT || 3000
var path = require('path');
app.set('views', path.join(__dirname, 'views/'));
app.set('view engine', 'ejs')
app.use(express.static(__dirname + '/public'))
app.use(bodyParser.json())
app.use(bodyParser.urlencoded({extended: true}))
app.use(require('./controllers'))
var routes = require('./api/routes');
app.use('/api', routes);
app.listen(port, function() {
console.log('Listening on port ' + port)
})
routes.js
var express = require('express')
, router = express.Router()
var usersController = require('./controllers/users');
module.exports = function (app) {
app.get('/users', usersController.getUser);
};
module.exports = router;
users.js(コントローラ)あなたは2を輸出しているあなたのroutes.js
ファイルで
module.exports = {
getUser: function (req, res) {
console.log("sdfdsfdsfsd");
res.setHeader('Content-Type', 'application/json');
res.send(JSON.stringify({"msg": "welcome user"}));
}
}
しようとすると、役に立つかもしれない、nodejsに急行を設定する方法の例です:https://expressjs.com/en/starter/hello-world.html – Giovanni