css - 如何在带有 rollup.js 的捆绑包中包含 css 无法加载 css 文件 - 意外的令牌
问题描述
我目前在尝试使用 rollup.js 在组件库中捆绑/加载 CSS 文件时遇到错误。我一直遇到意外的令牌错误,这让我相信它无法识别扩展名。我including
在 babel 插件中尝试过 CSS 文件,但没有用。添加postcss
插件导致我收到此错误,而不是我以前的错误Can not resolve DropDown.css
,但现在我被卡住了。有任何想法吗?
错误:
[!] (babel plugin) SyntaxError: /Users/adam.mateo/Documents/code/quovo-app/shared-components/components/DropDown/DropDown.css: Unexpected token (1:0)
components/DropDown/DropDown.css (1:0)
SyntaxError: /Users/adam.mateo/Documents/code/quovo-app/shared-components/components/DropDown/DropDown.css: Unexpected token (1:0)
> 1 | .Dropdown-root {
| ^
2 | position: relative;
3 | }
4 |
我的 rollup.config:
import babel from 'rollup-plugin-babel';
import commonjs from 'rollup-plugin-commonjs';
import postcss from 'rollup-plugin-postcss';
export default {
input: 'components/index.js',
output: {
file: 'dist/main.js',
format: 'cjs',
},
plugins: [
babel({
babelrc: false,
exclude: 'node_modules/**',
plugins: [
'transform-object-rest-spread',
// 'external-helpers',
],
presets: [
'react',
['env', { 'modules': false }],
],
}),
postcss({
extensions: ['.css'],
}),
commonjs(),
]
}
解决方案
我为此使用了一个单独的插件:rollup-plugin-scss。它捕获.css
组件中导入的所有备用文件,并聚合到一个 CSS 包中,该包作为汇总输出包的一部分提供。
一个适合我需要的非常简单的配置,如下所示:
import scss from 'rollup-plugin-scss'
...
export default {
input: 'src/index.tsx',
output: [...],
plugins: [
...
scss(),
]
}
如果需要,似乎有更多的选择来增强它。
推荐阅读
- python - 数据框搜索第n大列并存储相应的行
- azure - 为 myapps.microsoft.com 添加客户 URL
- mysql - Mysql 函数 CONTAINS 和 GEOMFROMTEXT 不起作用
- r - 如何使用 pubmed.mineR 函数 readabs 读取多个 pubmed 抽象文本文件
- pip - 在 Windows 10 上安装 pip
- javascript - Axios 请求不返回完整的响应标头
- java - Android Webview APK 不断停止,使用 Android 开发人员代码
- java - DatabaseException:在类上找不到要序列化的属性
- spring-boot - Spring Boot 不加载 application.yml 配置还是?
- java - 我如何使用带有滚动页面的卡片视图和滑块?