Babel Resolver
Resolve modules from any directory.
;
Becomes:
;
Usage
In app/index.js:
presets: 'es2015' // required for 'import' resolveModuleSource: __dirname; ;
In app/app.js:
;// => resolves: "app/models/User.js"
This example uses Babel 6 and babel-register
.
If you wish to define options in .babelrc, use the Babel Resolver Plugin instead.
Note: Run rm -rf ~/.babel.json
if you're seeing errors.
Note2: Babel's resolveModuleSource
is only called when you use import
, not require
.
Also, keep in mind that you must provide absolute directory paths to babel-resolver
.
Resolving Multiple Directories
In app/index.js:
var path = ;var localModulesDir = __dirname;var anotherDirToCheck = path; presets: 'es2015' resolveModuleSource: localModulesDir anotherDirToCheck;;
In app/app.js:
;// => resolves: "app/models/User.js" ;// => resolves: "app/lib/somethingInLib.js"
Installation
npm i babel-resolver --save
rm -rf ~/.babel.json
Why not just set NODE_PATH?
While setting NODE_PATH=app
is a perfectly valid solution, babel-resolver
is more explicit and lets you avoid mucking around with environment variables.
License
MIT