Reputation: 39018
I did find this plugin https://github.com/gabiseabra/google-fonts-webpack-plugin
Updated the babel.config.js that was generated with the starter kit:
const GoogleFontsPlugin = require('google-fonts-webpack-plugin')
module.exports = {
presets: [
'@vue/app',
],
plugins: [
new GoogleFontsPlugin({
fonts: [
{ family: 'Inconsolata' },
{ family: 'Oswald' },
],
/* ...options */
}),
],
};
Add the font to the #app
class
<template>
<div id="app">
<div id="nav">
<router-link to="/">Home</router-link> |
<router-link to="/about">About</router-link>
</div>
<router-view/>
</div>
</template>
<style lang="scss">
#app {
font-family: 'Inconsolata', sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
text-align: center;
color: #2c3e50;
}
#nav {
padding: 30px;
a {
font-weight: bold;
color: #2c3e50;
&.router-link-exact-active {
color: #42b983;
}
}
}
</style>
But font is still Arial:
https://fonts.google.com/specimen/Inconsolata?selection.family=Inconsolata
Upvotes: 1
Views: 8084
Reputation: 546
You can use webpack to configure Google Font for Vue JS. Install google-fonts-webpack-plugin using npm or yarn as a dev dependency. Create webpack.config.js file inside root folder. Then add this into it:
const GoogleFontsPlugin = require("google-fonts-webpack-plugin")
module.exports = {
"entry": "index.js",
/* ... */
plugins: [
new GoogleFontsPlugin({
fonts: [
{ family: "Source Sans Pro" },
{ family: "Roboto", variants: [ "400", "700italic" ] }
]
})
]
}
Upvotes: 0
Reputation: 39018
Just figured it out, I have to import it like so:
<style lang="scss">
@import url('https://fonts.googleapis.com/css?family=Inconsolata|Oswald');
#app {
font-family: 'Inconsolata', sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
text-align: center;
color: #2c3e50;
}
#nav {
padding: 30px;
a {
font-weight: bold;
color: #2c3e50;
&.router-link-exact-active {
color: #42b983;
}
}
}
</style>
Upvotes: 2