- rollup-plugin-node-resolve 插件允许我们加载node第三方模块依赖">rollup-plugin-node-resolve 插件允许我们加载node第三方模块依赖
- rollup-plugin-commonjs commonjs模块依赖转换为ES6插件">rollup-plugin-commonjs commonjs模块依赖转换为ES6插件
- TS转换插件">TS转换插件
- rollup/plugin-eslint ESlint 校验插件">rollup/plugin-eslint ESlint 校验插件
- rollup-plugin-babel babel转译插件">rollup-plugin-babel babel转译插件
- rollup-plugin-terser压缩代码插件">rollup-plugin-terser压缩代码插件
- rollup-rollup-plugin-replace环境变量设置">rollup-rollup-plugin-replace环境变量设置
- rollup-plugin-json允许 rollup 从 JSON 文件中导入数据">rollup-plugin-json允许 rollup 从 JSON 文件中导入数据
- rollup-plugin-multi-input允许入口文件多个打包">rollup-plugin-multi-input允许入口文件多个打包
rollup-plugin-node-resolve 插件允许我们加载node第三方模块依赖
export default {input: 'src/main.js'plugins:[resolve({extensions: ['.js', '.ts', '.tsx'],}),]}
rollup-plugin-commonjs commonjs模块依赖转换为ES6插件
export default {input: 'src/main.js'plugins:[commonjs({ include: 'node_modules/**' }),]}
TS转换插件
export default {input: 'src/main.js'plugins:[typescript({tsconfigOverride: {compilerOptions: { declaration: true, declarationDir: 'esm' },},}),]}
rollup/plugin-eslint ESlint 校验插件
export default {input: 'src/main.js'plugins:[eslint({throwOnError: true,include: ['src/**/*.ts'],exclude: ['node_modules/**', 'lib/**']})]}
rollup-plugin-babel babel转译插件
export default {input: 'src/main.js'plugins:[babel({runtimeHelpers: true,exclude: 'node_modules/**'})]}
rollup-plugin-terser压缩代码插件
//import {uglify} from 'rollup-plugin-uglify'; 也是压缩代码插件const isProduction = process.env.NODE_ENV === 'production';export default {input: 'src/main.js'plugins:[isProduction &&terser({output: {comments: false,},}),]}
rollup-rollup-plugin-replace环境变量设置
类比 Webpack 的 DefinePlugin , 可在源码中通过 process.env.NODE_ENV 用于构建区分 Development 与 Production 环境.
export default {input: 'src/main.js'plugins:[replace({ENV: JSON.stringify(process.env.NODE_ENV || 'development'),}),]}
rollup-plugin-json允许 rollup 从 JSON 文件中导入数据
export default {input: 'src/main.js'plugins:[json()]}
rollup-plugin-multi-input允许入口文件多个打包
export default {input: 'src/**/*.js',output: 'dist',plugins:[multiInput({ relative: 'src/' }),]}

