You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

开发模式下如何动态修正woff文件的端口指向?

问题:Quasar Material Icons字体文件在Vue-Django架构下的环境路径冲突

我基于GitHub仓库cookiecutter-vue-django搭建了Vue-Django架构,配置过程参考指定文章完成。在vue_frontend目录的main.js中引入了Quasar的material-icons.css(该文件包含woff字体文件),通过django-vue-utilities的vue_bundle_url模板标签将main.js注入Django模板。

环境问题表现

  • 开发环境(npm run dev):静态资源从http://127.0.0.1:5173/获取,main.css加载正常,但woff字体文件请求端口错误(未指向5173)。
  • 生产环境:静态资源从http://127.0.0.1:8000/static/vue/获取,设置base: '/static/vue/'后woff文件加载正常,但该配置会导致开发环境失效。

问题根源推测

问题出在material-icon.css中的字体文件相对路径:

@font-face {
  font-family: 'Material Icons';
  font-style: normal;
  font-weight: 400;
  font-display: block;
  src: url('./web-font/flUhRq6tzZclQEJ-Vdg-IuiaDsNcIhQ8tQ.woff2') format('woff2'), 
  url('./web-font/flUhRq6tzZclQEJ-Vdg-IuiaDsNa.woff') format('woff');   /* 路径问题所在 */
}

相关配置文件

main.js

import './assets/main.css'

import '@quasar/extras/material-icons/material-icons.css'; // 包含woff字体文件
import 'quasar/dist/quasar.css';
import 'quasar/src/css/index.sass';

import { Quasar } from 'quasar'
import AppHeader from './AppHeader.vue'
const header = createApp(AppHeader)
header.use(Quasar, {
  plugins: {} 
})

header.mount('#appheader')

Django模板

{% extends "base.html" %}
{% load static %}
{% load vue_utils %}


{% block content %}
<div id="appheader"></div>
{% endblock %}

{% block css %}

{% endblock %}

{% block inline_javascript %}

     {% comment %} 注入main.js {% endcomment %}
  <script type="module" crossorigin src="{% vue_bundle_url 'main' %}"></script> 

{% endblock inline_javascript %}

vite.config.js

// vite.config.js
  base: '/static/vue/', // 该配置下生产环境woff文件加载正常,但开发环境失效
  build: {
    rollupOptions: {
      input: {
        main: resolve('./src/main.js'),
        main_header: resolve('./src/main_header.js'),
        reward: resolve('./src/reward.js')
      },
      output: {
        dir: '../my_project/static/vue/',
        entryFileNames: '[name].js',
      },
    },
  },

内容的提问来源于stack exchange,提问作者JAdel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 11:44:53