首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Vite dev环境中不提供静态字体文件

在Vite dev环境中不提供静态字体文件
EN

Stack Overflow用户
提问于 2022-09-18 17:41:15
回答 1查看 289关注 0票数 0

我正试图在现有的Laravel应用程序中从webpack切换到vite。为了当地的发展,我使用了Laravel。

如果我运行vite build,所有东西都能正常工作(图像、字体、scss),但是如果我运行vite,我唯一得到的错误就是它没有正确地获得字体路径(错误404):

代码语言:javascript
复制
https://example.test:5173/fonts/open-sans/regular-400.woff2

没有港口,它就能工作。

我读了很多书,我想我什么都试过了:

在Vite配置中尝试(失败):

代码语言:javascript
复制
export default defineConfig(({ command, mode }) => {

    return {
        // root: './',
        // base: './',
        // publicDir: 'public',
        // assetsInclude: ['public/fonts'],

        // Rest of the configuration are Plugins (Laravel, Vue), Alias etc...            
    }
});

所以我试着改变rootbasepublicDirassetsInclude,而不记得还有什么.他们中没有一个没有解决我的问题。

我的公用文件夹的结构:

代码语言:javascript
复制
- public
  - build
    - assets
  - fonts
  - images

css字体-外观:

代码语言:javascript
复制
@font-face {
    ...
    url('/fonts/open-sans/regular-400.woff2') format('woff2'),
    url('/fonts/open-sans/regular-400.woff') format('woff');
}
EN

回答 1

Stack Overflow用户

发布于 2022-09-20 07:12:10

我找到的解决方案是只在dev环境中为字体路径(public/font)添加别名:

代码语言:javascript
复制
export default defineConfig(({ command, mode }) => {

    const alias = {
       (some alias),       
    };

    // dev environment
    if (command === 'serve') {
        Object.assign(alias, { '/fonts': path.resolve(__dirname, 'public/fonts') });
    }
    
    return {
        ...
        resolve: {
            alias
       }
    }
});

我认为这是一个Vite错误,我不知道这是否是最好的解决方案,所以我愿意接受任何建议。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73765063

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档