僕はpythonが好きで閉じタグを書くのがしんどく感じるのでpugやstylusが好きです。
coffeescriptはtypescriptに負けてて最近使ってませんが・・・
というわけでvueでも使えるようにしたいので毎回している初期の設定をメモしておこうと思います。
loaderの用意
pugやstylusを利用するにはnpmでloaderを用意する必要があります。
pug
$ npm i --save-dev pug pug-plain-loader
stylus
$ npm i --save-dev stylus stylus-loader
.vueファイルで
htmlの部分は<template>
に、cssは<style>
にlang属性をいれます。
<template lang="pug">
</template>
<style lang="stylus">
</style>
全体で.styl
を読み込む
共通の.stylファイルを.vueに書きたくないことや、どのvueファイルからでもmixinを呼び出したいときなどもあるでしょう。
そういった場合、@nuxtjs/style-resourcesを利用します。(nuxtの話)
npmでインストールして、
$ npm i --save-dev @nuxtjs/style-resources
共通で読み込みたい.stylファイルを/assets/stylus/xxx.styl'
とすると
nuxt.config.js
に以下の記述を追記します。
export default {
modules: [
'@nuxtjs/style-resources',
],
styleResources: {
stylus: './assets/stylus/xxx.styl'
}
}
複数の.stylファイルを読むこともできますが、メインの.stylを1つ読み込んでそのなかに@import
を書いて上げる方法で良いと思います。
nuxt-stylus-resources-loaderを利用して共通の.stylを読み込む方法もありますが、おそらく@nuxtjs/style-resourcesの方が推奨されます。