使用 rollup 构建 js library

369 阅读1分钟

1. 目标

import dateFlywen from "date-flywen"
dateFlywen.format();    // 2021-02-20 15:34:15
dateFlywen.parse("yyyy-MM-dd hh:mm:ss", "2021-02-20 15:34:15")

2. 工程配置

1. 安装 rollup
npm i rollup -D

2. 安装 commonjs 和 resolve 包
npm i @rollup/plugin-commonjs @rollup/plugin-node-resolve -D

3. 根目录创建 rollup.config.js
export default [
    {
        input: "src/index.js",
        output: {
            name: "dateFlywen",
            file: "dist/date-flywen.umd.js",
            format: "umd"
        },
        plugins: [
            resolve(),    // so Rollup can find node_modules library
            commonjs()    // so Rollup can convert node_modules library to an ES module
        ]
    },
    {
        input: "src/index.js",
        output: [
            {
                file: "dist/date-flywen.cjs.js",
                format: "cjs"
            },
            {
                file: "dist/date-flywen.esm.js",
                format: "es"
            }
        ]
    }
]

3. 功能实现

1. src/index.js
import { parse } from "date-flywen";
export default parse;

4. 测试发布

1. 测试
npm run test

2. 打包
npm run build

3. 发布
npm publish

5. 项目地址

github.com/joinwen/dat…

6. 参考

www.rollupjs.com/guide/tutor…