babel-resolver v1.1.0
Babel Resolver

Resolve modules from any directory.
import User from '../../models/User';
Becomes:
import User from 'models/User';
Usage
In app/index.js:
require('babel-register')({
presets: ['es2015'], // required for 'import'
resolveModuleSource: require('babel-resolver')(__dirname)
});
require('./app');
In app/app.js:
import User from 'models/User';
// => 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 = require('path');
var localModulesDir = __dirname;
var anotherDirToCheck = path.resolve(__dirname, 'lib');
require('babel-register')({
presets: ['es2015'],
resolveModuleSource: require('babel-resolver')(localModulesDir, anotherDirToCheck)
});
require('./app');
In app/app.js:
import User from 'models/User';
// => resolves: "app/models/User.js"
import somethingInLib from 'somethingInLib';
// => 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
9 years ago
9 years ago
9 years ago
9 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago