Я работаю с серверами Node.js. Когда я захожу на сервер, код,
res.write("What ever text you choose")
запустится, и я получу только «Какой бы текст вы ни выбрали», независимо от того, какой путь я наберу. Я знаю, что вы можете «записать» файл, чтобы каждый раз, когда вы заходите на сервер, он открывал вам эту страницу. Проблема, с которой я столкнулся, заключается в том, что сервер предоставит мне только один файл. Как я могу запросить другой файл на основе URL-адреса?
Например, когда я наберу localhost:9090, я получу запрошенный файл. Но если я наберу localhost:9090/index.html или localhost:9090/funnyFile/Jokes.html или localhost:9090/myProjects/poj1/index.html, я просто получу тот же файл, как я могу получить доступ к смешному файлу и моиПроекты?
Вот код моего узла-сервера.
const http = require('express')
const port = 9090
// Create a server object:
const server = http.createServer(function (req, res) {
// Write a response to the client
res.write("I choose this text");
// End the response
res.end()
})
// Set up our server so it will listen on the port
server.listen(port, function (error) {
// Checking any error occur while listening on port
if (error) {
console.info('Something went wrong', error);
}
// Else sent message of listening
else {
console.info('Server is listening on port' + port);
}
})
🤔 А знаете ли вы, что...
С помощью JavaScript можно создавать клиентские приложения для мобильных устройств с использованием фреймворков, таких как React Native и NativeScript.
Вы импортировали express
, но не используете его. http
не предоставляет методов для обслуживания статических файлов/маршрутизации.
Вместо этого используйте express
для их обработки, например:
const app = express();
// Serve static files from a directory (e.g. 'public')
app.use(express.static(path.join(__dirname, 'public')));
// Define your routes
app.get('/', (req, res) => {
res.send('Some welcome text.');
});
// Example with 'funnyFile' and 'myProject'
app.get('/funnyFile/Jokes.html', (req, res) => {
res.sendFile(path.join(__dirname, 'public', 'funnyFile', 'Jokes.html'));
});
app.get('/myProjects/poj1/index.html', (req, res) => {
res.sendFile(path.join(__dirname, 'public', 'myProjects', 'poj1', 'index.html'));
});
Вам следует определить маршруты для этих файлов, используя app.use
, и получить запрос с помощью router.get
, тогда, когда вы запросите этот маршрут, вы получите к нему доступ.
const express = require("express");
//router object
const router = express.Router();
//routes GET | POST |UPDATE | DELETE ==>CRUD
router.get(".path or url", call back function);