LoginSignup
2
1

More than 3 years have passed since last update.

Nuxt.js で medium-editor を使う方法(SSR 対応など)

Posted at

概要

Nuxt は基本 SSR しているためブラウザのdocumentオブジェクトなどが読み込めず、一部ライブラリが使えない。

例えば medium-editordocumentオブジェクトを参照しているため、なんとかして使えるようにする必要がある。

この記事ではその方法を解説する。

解説

.vueファイル内の script タグ内で、process.browserを呼び出すとブラウザ環境かどうか bool 値で返ってくる。

これが true のときに、documentオブジェクトを呼び出すようなライブラリを呼び出す。

例:

const MediumEditor = process.browser ? require('medium-editor') : ''

その後、Vueインスタンスがマウントした後のタイミングなどで読み込んだライブラリを実行する。

例:

<template>
  <div ref="editable" />
</template>

<script>
const MediumEditor = process.browser ? require('medium-editor') : ''

export default {
  // 省略
  mounted() {
    this.initEditor()
  },
  methods: {
    initEditor() {
      const elements = this.$refs.editable
      new MediumEditor(elements, {
        spellcheck: false
      })
    }
  }
}
</script>

参考

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1