vite - 带有 Windicss 的 Vite 库
问题描述
我正在使用 Vite (Vue3) 和 Windi CSS 来开发一个库。我正在使用库模式进行构建(https://vitejs.dev/guide/build.html#library-mode),配置如下:
vite.config.js
export default defineConfig({
plugins: [vue(), WindiCSS()],
build: {
lib: {
entry: path.resolve(__dirname, 'src/lib.js'),
name: 'MyLIB',
},
rollupOptions: {
// make sure to externalize deps that shouldn't be bundled
// into your library
external: ['vue'],
output: {
// Provide global variables to use in the UMD build
// for externalized deps
globals: {
vue: 'Vue',
},
},
},
},
});
我的入口文件 ( src/lib.js
) 中仅包含几个 Vue 组件,如下所示:
lib.js
export { default as AButton } from './components/AButton/AButton.vue';
export { default as ACheckbox } from './components/ACheckbox/ACheckbox.vue';
import 'virtual:windi.css';
import './assets/fonts.css';
当我构建库时,我只为那些组件获取了 js,但 css 是针对文件src
夹中的每个 Vue 文件的,而不仅仅是我包含在我的lib.js
文件中的那些。我知道 Windi CSS 的默认行为是扫描整个src
文件夹,但在这种情况下,我只希望它扫描我添加到条目中的组件。
有任何想法吗?
解决方案
您应该能够通过使用extract.include
和extract.exclude
选项来限制扫描,请参见: https ://windicss.org/guide/extractions.html#scanning
从文档
如果要启用/禁用对其他文件类型或位置的扫描,可以使用包含和排除选项进行配置
推荐阅读
- python - 将列表乘以嵌套列表
- concurrency - Cosmos DB 是否提供资源锁定或键范围锁定的可能性?
- ios - 使用 iPhone 屏幕称重
- python - 使用 VSCode 时 jinja2.exceptions.TemplateNotFound,但直接从虚拟环境运行时没有错误
- workbox - 使用 vue-cli-pwa 插件时如何配置 importScript
- javascript - 反应空的 JSX 表
- r - 清理很长的公司名称列表 - 在 data.table 的每一行上应用函数
- javascript - 禁用由 tierce 库组件呈现的 HTML 元素,而无需访问 React 中的源代码
- python - 无法加载图像以在自定义数据集上训练模型
- r - 计算 qnorm 值的倒数