我知道 Rollup 通常用于打包 .js 文件,但是是否可以只使用它来处理 CSS(css、scss、less 等)呢?
我的意思是,如果我在 src 文件夹(入口文件夹)中有一个名为 index.css 的文件,并且我希望 Rollup 处理它并将其输出到 dist 文件夹中(输出文件夹),就像 index.css 一样(但是经过处理,例如包含导入的 .sass 文件或 css 变量)。我该如何实现这个目标呢?
例如 rollup.config.js:
import { uglify } from 'rollup-plugin-uglify'
import babel from 'rollup-plugin-babel'
import resolve from 'rollup-plugin-node-resolve';
import postcss from 'rollup-plugin-postcss'
const config = [
{
input: 'src/styles/index.scss',
output: {
file: 'dist/style.css',
name: "style",
},
plugins: [
postcss({
plugins: []
})
]
},
];
export default config
src/index.scss:
@import 'other';
h1 {
color: green;
}
src/other.scss
h2 {
color: red;
}
在dist文件夹中,应该有一个包含两个CSS文件的所有代码(已处理过)的index.css文件,格式如下: dist/index.css
h1 {
color: green;
}
h2 {
color: red;
}
file
选项输出,我总是会收到警告消息:The emitted file "Filename.css" overwrites a previously emitted file of the same name.
如果我使用dir
选项代替file
选项,则还会得到一个几乎为空的js文件。有没有办法避免这个警告或者不写入js文件? - Jon