最近写了一个九宫格抽奖的一个react的组件,想着写都写完了,顺便在回顾下rollup打包一个组件,并且来发布出来。主要就用到了react 和rollup。rollup 适合打包 js 库,不适合打包 css,如果想制作 基于 react 和antd 的组件首选 webpack
一、初始化项目
1 | mkdir lottery-react |
我的package.json
1 | { |
目录结构描述
1 | ├── dist |
外层rollup.config.js
1 |
|
src/index.js
1 | import React from 'react' |
1、rollup-plugin-commonjs这个包一定要引入好,并且注意使用
//告诉rollup不要将此lodash打包,而作为外部依赖,否则会报
不识别或者 React 的Component 各种错
1 | external: ["react"],//告诉rollup不要将此react打包,而作为外部依赖 |
2、npm 和 git 使用共同的 version和 tags
3、npm 发布用下面的,添加包用上面的
1 | npm set registry https://registry.npm.taobao.org |
发布到 npm
1 | npm login |
配置.npmignore
如果项目中没有编写 .npmignore 文件,则需要在 package.json 中新增 files 字段,用于申明将要发布到 NPM 的文件。如果省略掉这一项,所有文件包括源代码会被一起上传到 NPM。
本文采用写 .npmignore 文件的方式,实现仅发布打包后的组件代码。 .npmignore 文件的具体内容如下:
指定发布 npm 的时候需要忽略的文件和文件夹
npm 默认不会把 node_modules 发上去
1 | config # webpack配置 |