module-alias
module-alias copied to clipboard
not able use in node 15 with type: module in package.json
Hi, I am trying to use module-alias in my project and I am using node js 15.x type: module in package.json but it not working for me. see below code snippets.
package.json
{ "name": "alias-test", "version": "1.0.0", "description": "", "main": "server.js", "scripts": { "test": "echo "Error: no test specified" && exit 1" }, "keywords": [], "author": "", "license": "ISC", "dependencies": { "module-alias": "^2.2.2" }, "type": "module", "_moduleAliases" : { "@root" : ".", "@con" : "./config" } }
server.js
require('module-alias/register');
import '@con/module';
module.js console.log("from Module Config");
getting error :
node:internal/process/esm_loader:74 internalBinding('errors').triggerUncaughtException( ^
Error [ERR_MODULE_NOT_FOUND]: Cannot find package '@con/module' imported from D:\projects\Node\alias-test\server.js
?[90m at new NodeError (node:internal/errors:278:15)?[39m
?[90m at packageResolve (node:internal/modules/esm/resolve:698:9)?[39m
?[90m at moduleResolve (node:internal/modules/esm/resolve:739:18)?[39m
?[90m at Loader.defaultResolve [as _resolve] (node:internal/modules/esm/resolve:853:11)?[39m
?[90m at Loader.resolve (node:internal/modules/esm/loader:86:40)?[39m
?[90m at Loader.getModuleJob (node:internal/modules/esm/loader:230:28)?[39m
?[90m at ModuleWrap.
Related? https://github.com/ilearnio/module-alias/issues/59
You can use node's native "imports" field, but it is less flexible then this module nodejs.org/api
package.json
{
"imports":{
"#root/*": "./*",
"#con": "./config.json"
}
}
You can use node's native "imports" field, but it is less flexible then this module nodejs.org/api
package.json
{ "imports":{ "#root/*": "./*", "#con": "./config.json" } }
it forces you to rewrite all of your path aliases to be stat with '#'