import typescript from '@rollup/plugin-typescript'; import postcss from 'rollup-plugin-postcss'; import terser from '@rollup/plugin-terser'; const input = 'src/index.ts'; const outputDir = 'dist'; export default [ // ESM 单文件输出 { input: input, output: { file: `${outputDir}/post.esm.js`, format: 'esm', sourcemap: true }, plugins: [ typescript(), postcss({ inject: true, minimize: true, use: [ ['sass', { includePaths: ['./src/styles'] }] ] }) ], external: [] }, // CJS 单文件输出 { input: input, output: { file: `${outputDir}/postjs.cjs.js`, format: 'cjs', sourcemap: true, exports: 'default' }, plugins: [ typescript(), postcss({ inject: true, minimize: true, use: [ ['sass', { includePaths: ['./src/styles'] }] ] }) ], external: [] }, // UMD 未压缩(单文件,含样式) { input: input, output: { file: `${outputDir}/post.js`, format: 'umd', name: 'postjs', sourcemap: true, exports: 'default' }, plugins: [ typescript(), postcss({ inject: true, minimize: true, use: [ ['sass', { includePaths: ['./src/styles'] }] ] }) ], external: [] }, // UMD 压缩版(单文件,含样式) { input: input, output: { file: `${outputDir}/post.min.js`, format: 'umd', name: 'postjs', sourcemap: true, exports: 'default' }, plugins: [ typescript(), postcss({ inject: true, minimize: true, use: [ ['sass', { includePaths: ['./src/styles'] }] ] }), terser() ], external: [] } ];