Vue Styleguidistで一般的なスタイルを加える方法
仕事では、最近我々はvue Styleguidist , VueのVueリトル弟react-styleguidist , また、次のようにコンポーネントのスタイルを整理します. コンポーネント固有のスタイルは すべての一般的なスタイル(色、タイポグラフィなど)がジェネリックの中にある間
最初の(悪い)考え
我々はStyleGuidistアプリではなかったが、代わりに“普通の”Vueアプリでは、我々は
しかし、styleguidistプロジェクトでは、このような高レベルのVueコンポーネント😩
このようにしてジェネリックファイルをインポートする場合は、以下のようにすべてのコンポーネントに追加する必要があります.
二番目(私は思う)考え
多分、それをするより良い方法があります、しかし、瞬間のために、我々はこれで行きます!😅
追加
⚡️ ボーナスチップ
我々がちょうど加えた時から
この設定で コンポーネント固有のスタイルは すべてのジェネリックスタイルがジェネリックの中にある間 あなたがVue Styleguidistコンポーネントで一般的なスタイルをインポートするためのより良い方法を見つけた場合は私に知らせてください!😇
[ComponentName].vue
ファイルstyles.scss
ファイル.最初の(悪い)考え
我々はStyleGuidistアプリではなかったが、代わりに“普通の”Vueアプリでは、我々は
@import
最も高いコンポーネントのすべての一般的なスタイルでApp.vue
:// App.vue
<template>
<div id="app">
...
</div>
</template>
<script>
export default {
name: 'App',
}
</script>
<style lang="scss">
// generic styles
@import 'styles/styles.scss'
</style>
このようにして、すべてのコンポーネントがジェネリックスタイルを継承します.しかし、styleguidistプロジェクトでは、このような高レベルのVueコンポーネント😩
このようにしてジェネリックファイルをインポートする場合は、以下のようにすべてのコンポーネントに追加する必要があります.
// components/MyComponent.vue
<template>
...
</template>
<script>
export default {
name: 'MyComponent',
}
</script>
<style lang="scss">
// generic styles
@import 'styles/styles.scss'
// my components custom styles
.c-my-component {
background: red;
}
...
</style>
このような素晴らしいアイデアではない!🧐二番目(私は思う)考え
多分、それをするより良い方法があります、しかし、瞬間のために、我々はこれで行きます!😅
追加
vue.conifg.js
StyleGuidistプロジェクトへのファイル、我々はStyleguidistに伝えることができますsass-loader
実際のコンポーネントの前にどのスタイルコンテンツを追加するか<style>
コンテンツ.これはsass-loader
additionalData
オプション// vue.config.js
module.exports = {
css: {
sourceMap: true,
loaderOptions: {
scss: {
additionalData: `
@import "assets/styles/styles.scss";
`,
},
},
},
}
🧨 !important
In these examples I have assumed that we are using SASS (.scss) files and not simple CSS files.
Thesass-loader
node package I mentioned before is already installed in our project because we wrote styles in SASS using the<style lang="scss">
syntax.
⚡️ ボーナスチップ
我々がちょうど加えた時から
vue.config.js
ファイルも追加 postcss
設定const postcssNormalize = require('postcss-normalize')
const postcssPresetEnv = require('postcss-preset-env')
module.exports = {
css: {
sourceMap: true,
loaderOptions: {
scss: {
additionalData: `
@import "assets/styles/styles.scss";
`,
},
postcss: {
plugins: () => [
postcssPresetEnv({
features: {
'logical-properties-and-values': {
dir: 'ltr',
},
},
}),
postcssNormalize(),
],
},
},
},
}
ET Vil il!🇫🇷この設定で
[ComponentName].vue
ファイルstyles.scss
ファイルReference
この問題について(Vue Styleguidistで一般的なスタイルを加える方法), 我々は、より多くの情報をここで見つけました https://dev.to/giulia_chiola/how-to-add-generic-styles-in-vue-styleguidist-5d9dテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol