我可以告诉 rollup 不要最小化它生成的代码吗?

问题描述 投票:0回答:2

我知道我可以生成源映射,但我想生成不缩小的汇总输出。是否有可能做到这一点?我用谷歌搜索过,没有发现有人问这个问题。

javascript bundler minify rollupjs
2个回答
1
投票

首先,这个问题(或类似的问题)被问到这里

基于此似乎没有办法做到这一点。我不知道你的具体用例是什么,但也许你可以通过 rollup-plugin-esformatter 运行它,以使你的代码可读。


0
投票

通常带有汇总:

javascript 被 @rollup/plugin-terser
缩小 禁用 JavaScript 的小型化

terser()
 中的 
plugins
 数组中删除 
rollup.config.js

默认情况下,CSS 不会被 rollup-plugin-css-onlyrollup-plugin-postcss

缩小

rollup-plugin-css-only
没有缩小选项
css({ output: 'bundle.css' })

rollup-plugin-postcss
有默认选项
{ minimize: false }

postcss({ extract: 'bundle.css' })

其他 rollup 插件可以生成缩小的 CSS,例如 rollup-plugin-svelte

作为一种解决方法,为了生成漂亮的 CSS,我使用构建脚本

rollup -c && prettier -w public/build/bundle.css

npm i -D prettier

rollup
迁移到
vite

时,所有这一切可能会更简单 另请参阅 在 sveltekit 中运行“build”命令时如何禁用缩小?
sveltejs:将现有项目从 rollup 切换到 vite
棒极了

示例

vite.config.js

import { defineConfig } from 'vite';
import { svelte } from '@sveltejs/vite-plugin-svelte';

export default defineConfig({
  // use relative paths to asset files
  // https://github.com/vitejs/vite/issues/762
  base: './',
  plugins: [
    svelte(),
  ],
  build: {
    // dont minify JS and CSS
    minify: false,
    rollupOptions: {
      output: {
        // remove hashes from output paths
        // https://github.com/vitejs/vite/issues/378
        entryFileNames: `assets/[name].js`,
        chunkFileNames: `assets/[name].js`,
        assetFileNames: `assets/[name].[ext]`
      }
    }
  },
});
© www.soinside.com 2019 - 2024. All rights reserved.