💨

Nuxt.js に stylus を導入する

2023/06/20に公開

stylus, stylus-loader のインストール

$ npm i stylus stylus-loader

するとエラーが出た。調べたところどうやら、

  • Nuxt2 は Webpack 5 をサポートしていないよ
  • Webpack 4 をサポートしてる stylus-loader を使って!

とのこと。
最新はv7だけど、v3を使います。

Nuxt 2 doesn't yet support Webpack 5. Make sure the version of stylus-loader you are using supports Webpack 4, and downgrade your webpack version (or ideally let Nuxt handle that dependency for you).
https://github.com/nuxt/nuxt/issues/8763#issuecomment-773442564

style-resources-module のインストール

コンポーネント内でもグローバルにある stylusファイルの変数や mixin が使えるようにするには、下記コマンドで style-resources-module をインストールします。

$ npm i @nuxtjs/style-resources
package.json
  "dependencies": {
    "@nuxtjs/style-resources": "^1.2.1",
  }
nuxt.config.js
export default {
  ...
  buildModules: [
    '@nuxtjs/style-resources'
  ],
  styleResources: {
    stylus: [
      '~/assets/styles/app.styl'
    ]
  },
  ...
}

Discussion