I have an ExpressJS project where I want to use .js module inside another. I use require to get the .js module but it can't find the module because the path is not correct. How can I see or find what is the correct path for a local module.
Here is my project hierarchy/structure
This is what I have tried inside programController.js - another thing is I don't quite understand using "." in path string.
var Program = require('.././program.js');
var FinishProgram = require('.././finishProgram');
.. notation in paths represent a path relative to the file they're being required from.
. - inside the same directory this file is in (also referred to as the current working directory)
.. - inside the parent directory of the current directory
When you use multiples of these together it creates a relative path pattern. So for
programController.js to access
program.js your path should be
var Program = require('../../models/program');
This path means, go up 2 folders to the
App directory and locate the
models folder, then load the file
Following the same rules, you can also access
var FinishProgram = require('../../models/finishProgram');