- 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/' }),
]
}