Dire che ho questa struttura:
project/
node_modules/
xxx/
asset.js
index.html
app.js
e in app.js ho:
const express = require('express');
const app = express();
app.use('/docs', (req,res) => {
res.render(require.resolve('./node_modules/xxx/index.html'));
});
app.listen(3000);
il problema è che dal momento che il server è probabilmente in esecuzione dalla directory root del progetto, il file index.html non avrà il percorso giusto per raccogliere il file assets.js.
Ad esempio, in index.html se la base è impostata in questo modo:
<base href="/">
che non funzionerà. Potrei provare a usare:
<base href="node_modules/xxx/">
Un'altra soluzione sarebbe quella di unire tutto insieme in modo che il file index.html non abbia bisogno di fare richieste per le risorse statiche, ma sto cercando una buona soluzione per far sì che la risoluzione del percorso funzioni in qualche modo in modo generico. Ad esempio, se il server express non viene avviato nella root del progetto, ma in un'altra sottodirectory.