LoginSignup
1
1

Vue2からVue3へ「とりあえず」移行した際のメモ(Options APIのまま)

Posted at

現在、ASP.NET Coreのcshtml中で利用しているVue2のコードを、Vue3でも動作するようにとりあえず移行した際のメモです。

前提

  • 移行元のソース(Vue2)はOptions APIで書かれています。
  • Vue3に移行する際にはComposition APIに置き換えたりせず、そのまま動作させます。
  • 単一ファイルコンポーネント(.vue)ではなく、ピュアJavaScriptで動作させます。
  • SPAではなく、cshtml単位でページ遷移する通常のWebアプリケーションです。
  • Vueは現在、CDNからscriptタグで読み込んでいます。

ライブラリのロード(CDNを使ったscriptタグでのロード)

下記はdevelopment用のファイル。production版を使いたい場合は vue.global.prod.min.js を参照。
※production版にすると余計なデバッグ情報が出力されないため、若干パフォーマンスが向上する。

(旧)
<script src="https://cdn.jsdelivr.net/npm/vue@2.6.0"></script>
(新)
<script src="https://cdn.jsdelivr.net/npm/vue@3.3.10/dist/vue.global.min.js"></script>

ESM(ECMA Script Module)形式でのロード

ESM形式でimportしたい場合には、次のように書くこともできます。

(新)
<script type="module">
    import * as Vue from 'https://cdn.jsdelivr.net/npm/vue@3.3.10/dist/vue.esm-browser.min.js';
</script>

Vue初期化コード

(Vue2 + Options API)
const app = new Vue({
	el: "#vue_app",
	data: {
		prop1: "hoge",
	},
 
    // メソッド群
	methods: {
	
	},

    // マウント時処理
	mount : {
	
	}

});
(Vue3 + Options API)
// VueグローバルオブジェクトからcreateAppメソッドをインポート
const { createApp } = Vue;

// createAppの呼び出し
const app = createApp({
	data() {
		return {
			prop1: "hoge",
		}
	},

    // メソッド群
	methods: {
	
	},

    // マウント時処理
	mount : {
	
	}

}).mount("#vue_app"); // DOMにマウント
1
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
1
1