返回

避免错误的roll-up模式,节省项目的生命周期

前端

正所谓万事开头难,配置rollup最难的一步也正是开头的第一步。但实际上,初始化一个项目只是第一步,而且不难。本文将从初始化开始,为您分步骤完成rollup的完整项目配置过程,避免您因为错误的配置而浪费时间,甚至让项目夭折。

首先,按照roll-up的文档,您需要创建rollup.config.js文件。

// rollup.config.js
import resolve from 'rollup-plugin-node-resolve';
import babel from 'rollup-plugin-babel';

export default {
  input: 'src/index.js',
  output: {
    file: 'dist/bundle.js',
    format: 'umd'
  },
  plugins: [
    resolve(),
    babel({
      exclude: 'node_modules/**'
    })
  ]
};

接着,按照这个文件树创建相应的场景与角色(文件夹&文件):

├── dist    # 打包文件目录
├── node_modules # npm 安装后的依赖包目录
├── package.json   # 项目包信息文件
├── rollup.config.js  # rollup 配置文件
├── src    # 源代码目录
│   ├── index.js # 源代码入口文件
│   └── other.js  # 其他源代码文件
└── test    # 测试目录
    ├── index.js  # 测试入口文件
    └── other.spec.js  # 其他测试文件

文件树中的其他文件可以按照实际情况进行调整。例如,如果您使用ES模块,则output.format可以设置为'es'。如果您使用CommonJS模块,则output.format可以设置为'cjs'。

如果您需要对代码进行压缩,可以使用rollup-plugin-terser插件。

// rollup.config.js
import resolve from 'rollup-plugin-node-resolve';
import babel from 'rollup-plugin-babel';
import { terser } from 'rollup-plugin-terser';

export default {
  input: 'src/index.js',
  output: {
    file: 'dist/bundle.js',
    format: 'umd'
  },
  plugins: [
    resolve(),
    babel({
      exclude: 'node_modules/**'
    }),
    terser()
  ]
};

至此,您已经完成了rollup的项目配置。您可以通过运行以下命令来构建您的项目:

rollup -c

或者:

npx rollup -c

构建完成后,您可以在dist目录中找到打包好的文件。

以下是一些避免错误的rollup配置的建议:

  • 使用合适的插件。rollup有很多插件可供选择,但并非所有插件都适合您的项目。在选择插件时,请考虑您的项目需求。
  • 不要过度使用插件。插件越多,构建速度就越慢。因此,请仅使用您真正需要的插件。
  • 使用正确的配置。每个插件都有自己的配置选项。请仔细阅读插件文档,并使用正确的配置。
  • 测试您的构建。在将构建好的代码部署到生产环境之前,请务必对其进行测试。这可以确保您的代码能够正常工作。

我希望这些建议对您有所帮助。如果您在使用rollup时遇到任何问题,请随时在rollup的官方论坛或GitHub仓库中寻求帮助。