やりたかったこと
Nuxt上でTone.jsを使いたかった。
window is not defined
っておこられた。
ESLintはStandardを使用。
公式ガイドラインにも記述がありますが、一部ハマったりしたのでメモ程度に書いています。
Tone.js
Web Audio APIを使いやすくするためのライブラリ。
対処法
.vueファイル内の読み込み
if (process.browser) {
var Tone = require('tone')
}
vueファイル内の処理
if (process.browser) {
console.log(Tone.Frequency('A3').toMidi())
}
ポイント
-
if (process.browser)
- サーバーサイドで実行しない
-
require('tone')
-
import
はインデント上で使えないためrequire
を使用する
-
もやもや
やっぱりimport
に統一したい。
何かいい手を知ってる方が居たらアドバイスをお願いします。