その大きな芋は私のものです。ありがとう。

Published on

abcjsを使ってみた

Authors

できたこと

最低限だけど、楽譜の表示ができるところまで実装した。

やったこと

  1. abcjs をインストール
$ npm install --save abcjs
  1. 楽譜表示用コンポーネントを作成
import abcjs from 'abcjs'
import React, { useEffect } from 'react'

const MusicScore = ({ code }) => {
  useEffect(() => {
    abcjs.renderAbc('musicNotation', code)
  })
  return <div id="musicNotation"></div>
}

export default MusicScore
  1. jsconfig.jsoncompilerOptions"jsx": "react", の記述を追加
{
  "compilerOptions": {
    "jsx": "react", // この行を追加
    "baseUrl": ".",
    "paths": {
      "@/components/*": ["components/*"],
      "@/data/*": ["data/*"],
      "@/layouts/*": ["layouts/*"],
      "@/lib/*": ["lib/*"],
      "@/css/*": ["css/*"]
    }
  }
}
  1. mdx ファイルを作成し、はじめに MusicScore コンポーネントを import した上で記事を執筆
import MusicScore from '@/components/MusicScore'

これで楽譜が表示される。
<MusicScore
code={`K:C
CDEF`}
/>