I'm trying to make the backend for my webapp with nodejs and express. The page worked fine on the parcel dev server. I'm getting this import not found on one of the 2 modules I'm using, the other seems to work fine.
The app.js
const express = require("./node_modules/express/index.js");
const app = express();
const ejs = require("./node_modules/ejs/ejs.js")
const path = require("node:path")
app.use("/", express.static("public"));
app.use("/tonal", express.static(path.join(__dirname + "/node_modules/@tonaljs/tonal/dist")))
app.use("/tonal2", express.static(path.join(__dirname + "/node_modules/@tonaljs")))
app.use("/note", express.static(path.join(__dirname + "/node_modules/@tonaljs/note/dist")))
app.use("/chord", express.static(path.join(__dirname + "/node_modules/@tonaljs/chord/dist")))
app.use("/scale", express.static(path.join(__dirname + "/node_modules/@tonaljs/scale/dist")))
app.use("/interval", express.static(path.join(__dirname + "/node_modules/@tonaljs/interval/dist")))
app.use("/vexflow", express.static(path.join(__dirname + "/node_modules/vexflow/build/esm/src")))
app.use("/images", express.static(path.join(__dirname + "/images")))
app.use("*", async(req, res, next) => {
res.setHeader("Access-Control-Allow-Origin", "https://ejercicios-de-armonia.herokuapp.com")
res.setHeader("Access-Control-Allow-Methods", "GET, POST, PATCH, PUT, DELETE, OPTIONS")
res.setHeader("Access-Control-Allow-Headers", "Origin, Accept, Content-Type, Authorization")
res.setHeader("Access-Control-Allow-Credentials", true)
res.setHeader("Content-Security-Policy", "default-src 'self'; font-src 'self'; img-src 'self'; script-src 'self'; style-src 'self'; frame-src 'self'")
next()
})
app.set('view engine', 'ejs')
app.get("/", (req, res) => {
res.render("armonia.ejs")
});
app.listen(process.env.PORT || 1234, () => {
console.log("listening on port 1234")
})
The imports in the js file
import { Note, Chord, Scale, Interval } from "/tonal/index.js"
import { Vex, Stave, StaveNote, Formatter, Voice, KeySignature} from "/vexflow/index.js"
the folder structure
node_modules
@tonaljs
note
chord
interval
scale
tonal
vexflow
public
scripts
armonia.js (main js file)
styles
armonia.css
views
armonia.ejs
app.js
package-lock.json
package.json