Vue.jsでtemplateタグ内にscriptやstyleタグを生成する方法|Tags with side effect are ignored

Vue.jsで<template>タグ内で動的に<script>タグや<style>タグを生成しようとするとコンパイル時に下記のエラーが出てしまいます。
Tags with side effect (<script> and <style>) are ignored in client component templates.そもそも<template>内に書くのはNGということみたいですが、今回はその回避方法をいくつかまとめておきます。
postscribeを使う
postscribeというパッケージを使えば回避できます。
まずは下記コマンドでnpmインストールしましょう。
npm install -D postscribe使用するときはmounted内でpostscribe()を呼び出し、設定したいタグを設定します。
<template>
<div id="script"></div>
</template>
<script>
import postscribe from 'postscribe'
export default {
name: 'postscribe-sample',
mounted() {
postscribe('#script', `<script src="https://gist.github.com/gautemo/d6b309c2bafe8f611f239b82f4f5501f.js"><\/script>`)
}
}
</script>HTMLのis属性を使う
HTMLにはis属性があり、これを使うとタグを別の扱いにできます。
下記のように記述すると<div>タグが<style>タグとして扱われます。
<div is="style"> body { background: red; } </div>ただ、この方法だと<style>タグは扱えますが、<script>タグはうまくいきませんでした。
本当にハック的な方法ですし、他の人が見たりある程度時間が経ってから見て混乱するので、最終手段です。


サーバーのアップロードファイルの最大容量の確認と変更方法
WordPressで作成した記事をSlackでシェアしたときに、抜粋文が長く表示される場合の対処法
Vue.jsで値段を表示するときに3桁ごとにカンマを入れる方法
Visual Studio CodeでSVGをプレビューする拡張機能「SVG Preview」
ブログに見出しを設置できるjQueryプラグイン「TOC | jQuery Table of Contents」
MacでCLIツールをインストールするときに行うターミナルでの「パスを通す」とは一体なにか?
Nuxt.jsでページを作成・追加する方法|Nuxt.jsの基本
WordPressの自動バックグラウンド更新を無効にする方法とその注意点
gulp-plumberとgulp-notifyでgulpエラー時にデスクトップで通知がくるようにする
iTerm2で「Use System Window Restoration Setting」を設定しているとアラートが表示されて機能しない
Google Chromeのサイト内検索(カスタム検索)機能を別のプロファイルに移行する方法
iPadで入力モードを切り替えずに数字や記号をすばやく入力する方法
iPhoneやiPadでYouTubeの再生速度を3倍速や4倍速にする方法
Keynoteで有効にしているはずのフォントが表示されない現象
MacのKeynoteにハイライトされた状態でコードを貼り付ける方法
AirPodsで片耳を外しても再生が止まらないようにする方法
iTerm2でマウスやトラックパッドの操作を設定できる環境設定の「Pointer」タブ
DeepLで「インターネット接続に問題があります」と表示されて翻訳できないときに確認すること
Ulyssesの「第2のエディタ」表示を使って2つのシートを横並びに表示する
マウス操作の完成度が高いウインドウリサイズアプリ「Magnet」
Macで複数ディスプレイを使っている場合に便利な設定集
AppCleanerでMacアプリを関連ファイルごと完全に削除する
操作に没頭できる!Firefox版 Arcのようなブラウザ「Zen Browser」
chezmoi(シェモア)で始めるdotfiles管理
GitHubの通知を見逃さない!通知に特化したアプリ「Gitify」
Keyboard Maestroの変数基礎
Neovimを使い始める最初の一歩として便利な「LazyVim」
ウェブサイトをmacOSアプリとしてラッピングする「Unite Pro」
Keyboard Maestroの「Macro Debugger」で複雑なマクロのデバッグを行う方法