My project directory's structure is as follows:
ghostbot (main project directory)
- package.json
- package-lock.json
- src/
-- (*.ts files)
- build/
-- (compiled *.js files)
- node_modules/
- tsconfig.json
My npm start script is a simple TS compilation and starting the compiled index.js:
"scripts": {
"start": "npx tsc --rootDir src --outDir build && node build/index.js"
},
After I run npm start from the main directory, the typescript is compiled properly (I can see files appearing in build/), then node starts and throws this error:
Error [ERR_MODULE_NOT_FOUND]: Cannot find module '[...]\ghostbot\build\setup' imported from [...]\ghostbot\build\index.js
Interestingly, when I look at the problematic import in the compiled index.js in WebStorm, I see this:

WebStorm seems to resolve the problematic ./setup import path correctly, but Node can't.
I tried running the compilation followed by node manually, including from the build directory rather than node build/something from the main dir. I tried various formats for the import path (including the complete verbose path starting at my C: drive), always with the same error as described in the post.
I am not a TypeScript expert but I guess you should import from "setup.js" not from "setup". I think when you try to import from "setup" then node.js tries to find a module "setup" in "node_modules" directory.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With