vue-cli@5.08+unocss@0.58.9运行报错

35 阅读1分钟

问题报错:Syntax Error: Reading from "virtual:uno.css" is not handled by plugins (Unhandled scheme). Webpack supports "data:" and "file:" URIs by default. You may need an additional plugin to handle "virtual:" URIs.

解决方案:main.js 引入 unocss使用以下引入方法

import 'uno.css';

补充:第一次运行unocss生效,热更新不生效解决方案,参考以下配置:

配置 vue.config.js

const UnoCSS = require('@unocss/webpack').default;
module.exports = {
 configureWebpack: {  
  plugins: [
   UnoCSS()
  ],
  optimization: {   
   realContentHash: true
  } 
 }, 
 css: {
  extract: {
   filename: 'css/[name].[contenthash].css',
   chunkFilename: 'css/[name].[contenthash].chunk.css'  
  } 
 }
}

配置 uno.config.js

import { defineConfig } from 'unocss';
import presetUno from '@unocss/preset-uno';
export default defineConfig({  
 content: {      
  filesystem: [      
   'src/**/*.vue', // 所有 Vue 组件      
   'src/**/*.js', // JS 文件中动态生成的类名(如 :class="`text-${size}`")      
   'public/index.html' // HTML 中的类名    
  ],  
 },  
 extract: {    
  // 输出路径需与 Vue CLI 的 CSS 提取路径一致(避免被忽略)    
  filename: 'css/uno.[contenthash].css',  
  chunkFilename: 'css/uno.[contenthash].chunk.css'  
 },  
 // 预设(必选,提供基础工具类)  
 presets: [    
   presetUno(), // 类似 Tailwind 的工具类  
 ]
})