版博士V2.0程序
25개 이상의 토픽을 선택하실 수 없습니다. Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. # unplugin-combine [![npm](https://img.shields.io/npm/v/unplugin-combine.svg)](https://npmjs.com/package/unplugin-combine)
  2. [![Unit Test](https://github.com/sxzz/unplugin-combine/actions/workflows/unit-test.yml/badge.svg)](https://github.com/sxzz/unplugin-combine/actions/workflows/unit-test.yml)
  3. Unified plugin that combines other plugins into one plugin.
  4. Currently supports:
  5. - [Vite](https://vitejs.dev/)
  6. - [Rollup 3](https://rollupjs.org/)
  7. - For Rollup 2, please use 0.2.x version
  8. - [Webpack](https://webpack.js.org/)
  9. - [esbuild](https://esbuild.github.io/)
  10. ## Install
  11. ```bash
  12. npm i unplugin-combine
  13. ```
  14. ## Usage
  15. Similar to [unplugin](https://github.com/unjs/unplugin).
  16. ```ts
  17. import { createCombinePlugin } from 'unplugin-combine'
  18. import type { OptionsPlugin } from 'unplugin-combine'
  19. export const unplugin = createCombinePlugin((userOptions: UserOptions = {}) => {
  20. const plugins: OptionsPlugin[] = [plugin1, plugin2, plugin3]
  21. return {
  22. name: 'unplugin-combine-xxxx',
  23. plugins,
  24. }
  25. })
  26. export const vitePlugin = unplugin.vite
  27. export const rollupPlugin = unplugin.rollup
  28. export const webpackPlugin = unplugin.webpack
  29. export const esbuildPlugin = unplugin.esbuild
  30. ```
  31. ### Plugin Installation
  32. ###### Vite
  33. ```ts
  34. // vite.config.ts
  35. import UnpluginFeature from './unplugin-feature'
  36. export default {
  37. plugins: [
  38. UnpluginFeature.vite({
  39. /* options */
  40. }),
  41. ],
  42. }
  43. ```
  44. ###### Rollup
  45. ```ts
  46. // rollup.config.js
  47. import UnpluginFeature from './unplugin-feature'
  48. export default {
  49. plugins: [
  50. UnpluginFeature.rollup({
  51. /* options */
  52. }),
  53. ],
  54. }
  55. ```
  56. ###### Webpack
  57. ```ts
  58. // webpack.config.js
  59. module.exports = {
  60. plugins: [
  61. require('./unplugin-feature').webpack({
  62. /* options */
  63. }),
  64. ],
  65. }
  66. ```
  67. ###### esbuild
  68. ```ts
  69. // esbuild.config.js
  70. import { build } from 'esbuild'
  71. build({
  72. plugins: [
  73. require('./unplugin-feature').esbuild({
  74. /* options */
  75. }),
  76. ],
  77. })
  78. ```
  79. ## Sponsors
  80. <p align="center">
  81. <a href="https://cdn.jsdelivr.net/gh/sxzz/sponsors/sponsors.svg">
  82. <img src='https://cdn.jsdelivr.net/gh/sxzz/sponsors/sponsors.svg'/>
  83. </a>
  84. </p>
  85. ## License
  86. [MIT](./LICENSE) License © 2022 [三咲智子](https://github.com/sxzz)