サーバーとの通信を処理するために、私の角型アプリケーション内にexpressを追加しようとしています。私はそれを行う方法についてオンラインで検索し、どのように発見した。しかし、私はほとんど何も理解していませんでした。Expressアプリケーションファイル内のエクスプレスサーバー
私はserver.js
と呼ばれる新しいファイルを追加しました:
const express = require('express');
const path = require('path');
const http = require('http');
const bodyParser = require('body-parser');
//Get our API routes
const api = require('./server/routes/api');
const app = express();
//Parsers for POST Data app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }))
//Point static path to dist
app.use(express.static(path.join(__dirname, 'dist')));
//Set our API routes
app.use('/api', api);
// Catch all other routes and return the index file
app.get('*', (req, res) => { res.sendFile(path.join(__dirname, 'dist/index.html')); });
/** * Get port from environment and store in Express. */
const port = process.env.PORT || '3000'; app.set('port', port);
/** * Create HTTP server. */
const server = http.createServer(app);
/** * Listen on provided port, on all network interfaces. */
server.listen(port,() => console.log(`API running on localhost:${port}`));
そして、私は新しいフォルダを追加する必要がserver
と呼ばれ、別のフォルダの中にapi.js
ファイル、その後routes
と呼ば:
const express = require('express');
const router = express.Router();
/* GET api listing. */
router.get('/', (req, res) => {
res.send('api works');
});
module.exports = router;
何これらの2つのファイルの違いは?一緒に組み合わせることはできますか?
api.jsには、htmlコンポーネントのルートではなく、データを取得するルートが含まれていますか? – droidnation
@droidnation - APIルートがHTMLを返さないと仮定すると、私の答えは「はい」になります。 – 31piy