NuxtにCSSをお作法に則りながら導入
前提
ホームページ制作はCSSゲーであると感じたため、CSSをNuxtに導入しようと思った。
そのとき、結構忘れそうな内容だったため、メモる。
また、ここで初めてSCSSなる非常に革命的なものに出会ったため、その導入方法等も記載する。
SCSS導入方法
なんとNuxt.jsはSCSSをサポートしている
npm install sass sass-loader fibers
その後、nuxt.config.js
にて以下を書き込む
const Sass = require('sass')
const Fiber = require('fibers')
export default {
// build.loaders のセクションに scss オプションを追加
build: {
loaders: {
scss: {
implementation: Sass,
sassOptions: {
fiber: Fiber
}
}
},
/*
** You can extend webpack config here
*/
extend (config, ctx) {
}
}
}
これでOK!ばり簡単
普遍的なCSSの場合
ディレクトリ構造
assets/styles(またはcss)/common.css
nuxt.config.js
nuxt.config.js
のcss:[]
内に以下を記述する
export default {
// ...
/*
** Global CSS
*/
css: [
"~assets/styles/common.css"
],
// ...
}
これで適用されるはず
SCSSで書きたいとき
assets/scss/common.scss
を作成
nuxt.config.js
に記入したパスもこれに変更することを忘れてはいけない
個別のCSSの場合
Vueファイルの<style>に直接書き込むだけ。
めっちゃ便利
ただし、ページ遷移後にもサイト全体に適用されるため、(Nuxtぽい笑)
<style>
を<style scoped>
と表記すればいいようだ。
SCSSの場合
同様に
<style lang="scss" scoped>
$color: red;
p{
color: $color;
}
</style>
とすると良いようだ。
またここがすごいところで
SCSSのimport構文でassets/scss/に作成したSCSSファイルからimportすることもできる
<style lang="scss" scoped>
@import "~assets/scss/mixins.scss"
p{
color: red;
}
</style>
mixinを共有できるのは非常によき
まとめ
意外と簡単だが~とか忘れそうなので気をつけます。
Author And Source
この問題について(NuxtにCSSをお作法に則りながら導入), 我々は、より多くの情報をここで見つけました https://qiita.com/KotaroMammaru/items/365c164415186f6a0101著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .