I am trying to implement a routing service in my routing service website (express.js-server). I decided to go with openroutingservice. As a test I tried to implement an example of it in my index.html, but to no result. All other js-scripts are working.
My server:
const express = require('express')
const { unescape } = require('querystring');
const fs = require('fs');
const app = express()
const port = process.env.PORT || 65289
app.get('/', async (req, res) => {
res.sendFile(__dirname + '/pages/index.html')
})
app.get('/api', async (req, res) => {
let apiResponse = await api(req)
res.send(apiResponse)
})
app.get('*', async (req, res) => {
let url = unescape(req.url)
let path = url.split("/").filter(element => { return element !== ''; });
let file = path.pop();
file = file.replaceAll(/?.*$/gm, "")
try{
if (!file.includes(".")){ // if no filetype is specified, set filetype to .html
file += ".html";
}
} catch(e){}
let directory = "./pages/";
path.forEach(Element => directory+=Element+"/")
if (fs.existsSync(__dirname + '/' + directory + file)) {
res.sendFile(__dirname + '/' + directory + file);
}
else{
res.sendFile(__dirname +'/' +"frontend\pages\404.html")
console.log(__dirname);
}
})
//Host des Webservers
app.listen(port, async () => {
console.log(`App listening at http://localhost:${port}`)
})
my index.html
<!DOCTYPE html>
<html lang="de">
<head>
<!--standard head-->
</head>
<body>
<header>
<!-- stuff-->
</header>
<main>
<!--other stuff-->
<div id="appendix"></div>
<script type="module" src="scripts/index.js"></script>
</script>
</main>
<footer class="footer">
<p>That's a footer.</p>
</footer>
</body>
my index.js-File
//const Openrouteservice = require("openrouteservice-js");
import Openrouteservice from 'frontend/node_modules/openrouteservice-js/dist/ors-js-client.js';
document.addEventListener('DOMContentLoaded', async function() {
const Geocode = new Openrouteservice.Geocode({ api_key: "EXAMPLE"});
try {
let response_structured = await Geocode.structuredGeocode({
locality: "Heidelberg"
});
// Add your own result handling here
console.log("response: ", response_structured);
document.getElementById('appendix').innerHTML = JSON.stringify(response_structured);
} catch (err) {
console.log("An error occurred: " + err.status);
console.error(await err.response.json());
}
});
stackoverflow for some reason wants me to add more details, but I do not know what else I could add, so here a lorem ipsum:
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
Ivy is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.