我希望在JS中导入的每个css文件都能为我的构建创建一个新的css文件。例如:
import "./app.css";
import "./admin.css";将创建dist/app.css和dist/admin.css。我正在使用rollup,下面是我的配置文件:
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,
},
};发布于 2021-03-04 16:17:32
它还没有文档化,但您可以使用include,exclude,根据它们的源代码。
下面是两个css文件的示例:
import { resolve } from "path"plugins: [
postcss({
include: "**/admin.css",
extract: resolve('dist/admin.css')
}),
postcss({
include: "**/app.css",
extract: resolve('dist/app.css')
})
]如果您想要排除一个文件:
plugins: [
postcss({
exclude: "**/bootstrap.css",
extract: resolve('dist/app.css')
}),
postcss({
include: "**/bootstrap.css",
extract: resolve('dist/bootstrap.css')
})
]发布于 2022-08-29 13:55:36
这就是我最后得到的
import resolve from "@rollup/plugin-node-resolve";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(),
]发布于 2022-10-28 12:25:06
我创建了一个插件- rollup插件库样式,它分别为每个样式文件生成CSS,并导入这些生成的CSS文件(作为CSS模块)。
https://stackoverflow.com/questions/65365028
复制相似问题