项目简介
本项目是一个使用 Rollup 打包工具的 JS 项目,适合开发各类 JS 应用,如 SDK、框架等。Rollup 运用 ES6 原生的模块机制开展模块打包构建,具备轻量、灵活性高的特性。项目结构清晰,涵盖源代码、测试代码和构建后的输出文件。安装项目依赖后,通过配置 Rollup 即可完成项目的构建和打包。
项目的主要特性和功能
- 模块化打包:利用 Rollup 的模块化打包功能,将项目各模块打包成可重用的代码包。
- 压缩和优化:配置 Uglify 插件,在打包时对代码进行压缩和优化,减小文件体积,提升加载速度。
- 兼容 CommonJS 规范:使用 rollup - plugin - commonjs 插件,兼容 CommonJS 规范的模块,便于引入第三方库。
- ESLint 检查:集成 ESLint 插件,在代码编写过程中进行语法检查,提高代码质量。
- 环境变量替换:利用 rollup - plugin - replace 插件,在打包时替换环境变量,方便不同环境下的部署和调试。
安装使用步骤
假设用户已经下载了本项目的源码文件,可按以下步骤操作:
1. 安装依赖:在项目根目录下,通过以下命令安装 Rollup 以及相关插件和依赖库:
bash
npm install --save-dev rollup rollup-plugin-babel@latest @babel/core @babel/preset-env rollup-plugin-eslint rollup-plugin-commonjs rollup-plugin-node-resolve rollup-plugin-replace rollup-plugin-uglify
2. 配置 Rollup:在项目根目录下创建或使用现有的 rollup.config.js 文件,以下是完整配置示例:
```js
import resolve from 'rollup-plugin-node-resolve';
import commonjs from 'rollup-plugin-commonjs';
import { eslint } from 'rollup-plugin-eslint';
import babel from 'rollup-plugin-babel';
import replace from 'rollup-plugin-replace';
import { uglify } from 'rollup-plugin-uglify';
const packages = require('./package.json'); const ENV = process.env.NODE_ENV;
const paths = { input: { root: ENV === 'example' ? 'example/index.js' : 'src/index.js', }, output: { root: ENV === 'example' ? 'example/dist/' : 'dist/', }, };
const fileNames = {
development: ${packages.name}.js
,
example: example.js
,
production: ${packages.name}.min.js
};
const fileName = fileNames[ENV];
export default {
input: ${paths.input.root}
,
output: {
file: ${paths.output.root}${fileName}
,
format: 'umd',
name: 'bundle-name'
},
plugins: [
resolve(),
commonjs(),
eslint({
include: ['src/'],
exclude: ['node_modules/']
}),
babel({
exclude: 'node_modules/',
runtimeHelpers: true,
}),
replace({
exclude: 'node_modules/',
ENV: JSON.stringify(process.env.NODE_ENV),
}),
(ENV === 'production' && uglify()),
],
};
3. **编写代码**:在 src 目录下编写项目代码。
4. **运行构建**:通过命令行运行 Rollup 构建命令,生成打包后的输出文件。示例命令如下:
bash
NODE_ENV=production npx rollup -c
```
5. 运行测试:使用测试工具对生成的文件进行测试,确保项目质量。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】