A babel plugin to rewrite (map, alias, resolve) directories as different directories during the Babel process. It's particularly useful when you have files you don't want to use with relative paths (especially in big projects).
Note: It also work for
Note 2: You can use the
Specify the plugin in your
If you're using eslint-plugin-importeslint-plugin-import, you should use eslint-import-resolver-babel-module-aliasresolver-module-alias to avoid having false errors.
Description
Instead of using relative paths in your project, you'll be able to use an alias. Here an simple example:// Instead of using this;
import MyUtilFn from '../../../../utils/MyUtilFn';
// Use that:
import MyUtilFn from 'utils/MyUtilFn';
With this plugin, you'll be able to map files or directories to the path you want.Note: It also work for
require()
.Note 2: You can use the
npm:
prefix in your plugin configuration to map a node module.Usage
Install the plugin$ npm install --save-dev babel babel-plugin-module-alias
Specify the plugin in your
.babelrc
with the custom mapping.
{
"plugins": [
["module-alias", [
{ "src": "./src/utils", "expose": "utils" },
{ "src": "./src/components", "expose": "awesome/components" },
{ "src": "npm:lodash", "expose": "underscore" }
]]
]
}
If you're using eslint-plugin-importeslint-plugin-import, you should use eslint-import-resolver-babel-module-aliasresolver-module-alias to avoid having false errors.