首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在postcss & rollup中创建单独的CSS文件

在postcss & rollup中创建单独的CSS文件
EN

Stack Overflow用户
提问于 2020-12-18 23:02:58
回答 3查看 4.4K关注 0票数 4

我希望在JS中导入的每个css文件都能为我的构建创建一个新的css文件。例如:

代码语言:javascript
复制
import "./app.css";
import "./admin.css";

将创建dist/app.cssdist/admin.css。我正在使用rollup,下面是我的配置文件:

代码语言:javascript
复制
import commonjs from "@rollup/plugin-commonjs";
import postcss from "rollup-plugin-postcss";
import resolve from "@rollup/plugin-node-resolve";
import { terser } from "rollup-plugin-terser";

import postcssImport from "postcss-import";
import postcssNested from "postcss-nested";
import autoprefixer from "autoprefixer";

const dev = process.env.WP_ENV === "development";

export default {
  input: "src/main.js",
  output: {
    sourcemap: dev,
    format: "iife",
    name: "main",
    file: "dist/main.bundle.js",
  },
  plugins: [
    resolve({
      browser: true,
    }),
    postcss({
      plugins: [postcssImport(), postcssNested(), autoprefixer()],
      extract: true,
      sourceMap: "inline",
      minimize: !dev,
    }),
    commonjs(),
    !dev && terser(),
  ],
  watch: {
    clearScreen: false,
  },
};
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2021-03-04 16:17:32

它还没有文档化,但您可以使用includeexclude,根据它们的源代码

下面是两个css文件的示例:

代码语言:javascript
复制
import { resolve } from "path"
代码语言:javascript
复制
plugins: [
  postcss({
    include: "**/admin.css",
    extract: resolve('dist/admin.css')
  }),
  postcss({
    include: "**/app.css",
    extract: resolve('dist/app.css')
  })
]

如果您想要排除一个文件:

代码语言:javascript
复制
plugins: [
  postcss({
    exclude: "**/bootstrap.css",
    extract: resolve('dist/app.css')
  }),
  postcss({
    include: "**/bootstrap.css",
    extract: resolve('dist/bootstrap.css')
  })
]
票数 4
EN

Stack Overflow用户

发布于 2022-08-29 13:55:36

这就是我最后得到的

代码语言:javascript
复制
import resolve from "@rollup/plugin-node-resolve";
代码语言:javascript
复制
plugins: [
  external(),
  resolve(),
  commonjs(),
  typescript(),
  postcss({
    include: "src/index.css",
    extract: "index.css",
    minimize: true,
    sourceMap: true,
  }),
  postcss({
    include: "src/themes/file2.css",
    extract: "themes/file2.css",
    minimize: true,
    sourceMap: true,
  }),
  terser(),
]
票数 0
EN

Stack Overflow用户

发布于 2022-10-28 12:25:06

我创建了一个插件- rollup插件库样式,它分别为每个样式文件生成CSS,并导入这些生成的CSS文件(作为CSS模块)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65365028

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档