如何将node_modules中的css添加到Svelte中的template.html

问题描述 投票:2回答:1

我有一个sapperjs应用程序,就像你从调用npx degit sveltejs/sapper-template my-app得到的那个。我想添加一个字体。普通人可能会在app/template.html上添加这样的一行:

<link rel="stylesheet" href="//fonts.googleapis.com/css?family=Roboto+Slab">

网络原因使这不切实际,所以我想在本地托管字体。在create-react-app中,我只需将import 'typeface-roboto-slab'放在App.jsx或同等组件的顶部。如何在我的sapper / svelte应用程序中实现类似的效果?

我认为最好将它添加到app/template.html,因为其他任何地方和css都将作用于单个组件。这似乎是几乎任何应用程序都需要的东西,但在我能找到的文档中没有任何关于它的内容。

css import node-modules svelte
1个回答
1
投票

它不像CRA那样流线型(但是!)但你可以通过将字体复制到你的assets文件夹中来实现这一点......

npm i typeface-roboto-slab
cp -r node_modules/typeface-roboto-slab assets

...然后在你的<link>中添加一个app/template.html

<link rel="stylesheet" href="typeface-roboto-slab/index.css">

在版本0.19中,Sapper获得了直接导入CSS文件的能力,但它目前不知道如何处理像url('./files/roboto-slab-latin-100.woff2')这样的引用文件。这将在未来版本中得到支持,然后您将能够以与CRA相同的方式使用字体。

© www.soinside.com 2019 - 2024. All rights reserved.