Building a nestjs project in typescript is really awesome but as the project starts to grow , your directories will grow too thus making your impor...
For further actions, you may consider blocking this person and/or reporting abuse
import * as path from 'path';
import * as moduleAlias from 'module-alias';
moduleAlias.addAliases({
'@src': path.resolve(dirname),
'@interfaces': path.resolve(dirname, 'interfaces'),
'@modules': path.resolve(__dirname, 'modules'),
});
at top of the main.ts will work
Thanks, this helps me better.
The first solution worked for me like this:
thanks for sharing
thankkkk youuu
you saved my day :)
after some truble doing absolute path with ts i was about to forget about absolute path and come back to old relative paths :x
until i found your article
thank you <3
Any time.i had the same trouble so I wrote this article for those in need
Great tutorial, Rubin! I've followed everything here, but I'm now running into an issue where Nest cannot resolve the dependencies if I import a class that is within the same directory using the tsconfig path alias. I opened up an issue with Nest, but I wonder if there's just something I'm not doing right. Issue here:
Nest dependency resolution issue with tsconfig paths and same directory imports #2897
Bug Report
NOTE: This is not a duplicate of #986 as I am already using tsconfig-paths-bootstrap.js.
Current behavior
I've set a few different paths in tsconfig.json to make importing of controllers, entities, services, etc. easier to deal with. Relevant portion of tsconfig.json:
I've also created barrel files (index.ts) within the src/controllers/, src/entity/, and src/services/ directories that re-exports all of the classes that I need from within those directories.
Everything works as expected when importing a service from a file that is within my controllers directory. Example:
Things do NOT work when importing a service from another service file that is within the same directory. Example
The error that I get when doing the above is:
Expected behavior
I expect dependencies to resolve using a path defined in tsconfig.json, even if they're being imported from within the same directory.
Possible Solution
My current workaround is to import the files using relative paths:
Environment
Also I would recommend to skip barrel if you are using path aliases because they do kind of the same thing. Also You could achieve a folderwise import with dir/* so there is no point in using it with path
Its possibly an module import problem. Make sure to import the corresponding modules if you are using the services. Do check if you are missing an import
is this the only way to do this ??
i want to remove ../../../../../ stuff in my code !!
Please how can I get this working on test? I'm still getting the error when running unit/integration tests
Good job. Save me hours :)
Perfect!
Thank you.