rollup 打包按需引入
import resolve from '@rollup/plugin-node-resolve'; import commonjs from '@rollup/plugin-commonjs'; import babel from '@rollup/plugin-babel'; import { terser } from 'rollup-plugin-terser'; // 一款基于 UglifyJS 的 JavaScript 压缩工具 import vue from 'rollup-plugin-vue'; import postcss from 'rollup-plugin-postcss'; const plugins = [ vue({ css: true, // 将 CSS 提取为单独的文件进行输出 template: { isProduction: true } // 设置模板选项,以便在生产环境中移除注释和空格 }), postcss({ // PostCSS 插件配置,用于处理 CSS modules: true }), resolve(), commonjs(), babel(), terser() ] export default { input: 'src/components/index.js', // 入口文件 output: { dir: 'dist', // 输出目录 format: 'esm', // 输出格式 entryFileNames: '[name].mjs', // 入口文件名 exports: 'named', // 导出类型 preserveModules: true, // 保留模块结构 globals: { vue: 'Vue' // 将 Vue 模块设置为全局变量 Vue }, }, plugins, external: ['vue', 'style-inject', 'node_moules'], };
一辈子说长不长,说短不短,努力做好两件事:第一件事爱生活,爱身边的人,爱自己;第二件事是好好学习,好好工作,实现自己的人生价值观,而不仅仅是为了赚钱