내 서버와의 통신을 처리하기 위해 각도 응용 프로그램에 express를 추가하려고합니다. 나는 그것을하는 방법에 관하여 온라인으로 수색하고, 어떻게 발견했다. 그러나 저는 거의 이해하지 못했습니다.각도 응용 프로그램 파일 내의 Express 서버
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}`));
그리고 내가 routes
라는 다른 폴더의 새 폴더가 server
라고 추가하고 내부에 있어야하고 다음 api.js
파일 :
const express = require('express');
const router = express.Router();
/* GET api listing. */
router.get('/', (req, res) => {
res.send('api works');
});
module.exports = router;
무엇을
나는 새 파일이server.js
라는 추가 이 두 파일의 차이점은 무엇입니까? 함께 결합 할 수 있습니까?
api.js에는 html 구성 요소의 경로가 아닌 데이터를 가져 오는 경로가 포함되어 있습니까? – droidnation
@droidnation - API 경로가 HTML을 반환하지 않는다고 가정하면 내 대답은 '예'입니다. – 31piy