创建一个NPM包,使ES6导入能够选择导出

时间:2016-12-23 08:30:23

标签: javascript webpack ecmascript-6 babeljs rollupjs

在构建NPM包时,如何创建能够支持 cherry picking 单个导出以在Webpack,Rollup或Browserify包大小上保存的构建?

首选语法为:

import { myModuleOne, myModuleTwo } from 'my-npm-package';

或者

import myModuleOne from 'my-npm-package/myModuleOne';
import myModuleTwo from 'my-npm-package/myModuleTwo';

1 个答案:

答案 0 :(得分:2)

只需使用ES6导出:

export const myModuleOne = ...
export const myModuleTwo = ...

package.json中将module属性设置为捆绑包的路径:

{
  main: 'path/to/umd/bundle.js',
  module: 'path/to/es/bundle.js',
  ...
}

Rollup和webpack 2发生了树木震动,因此生成的捆绑包只包含您需要的模块。