Search code examples
javascriptes6-moduleses6-module-loader

Global Import In ES6


I have a large third party library that I need to share between two projects. The project has multiple folders with multiple files that contain multiple exports. Instead of importing these modules like this

import {BaseContainer} from '@company/customproject/src/containers/BaseContainer.js'

I would like to do this

import { BaseContainer } from '@company/customproject'

I know I can manually import all the modules into a single index.js file in the base directory but i am wondering if there is an easier way to do not have import them all explicitly


Solution

  • I know I can manually import all the modules into a single index.js file in the base directory but i am wondering if there is an easier way to do not have import them all explicitly

    You should really just create an index.js file and import into that whatever you want to export so that you can control what APIs get exported and to not export private APIs.

    That said there is an automated tool that generates an index.js automatically for you:

    > npm install -g create-index
    > create-index ./src
    

    Which will generate an index.js with all the exports.