vueコンパイルバージョンの導入に関する質問
1530 ワード
退勤して目を通すと一つの間違いにぶつかった.
エラープロンプトの説明と検索の結果、プロジェクトが導入したvueコンパイルバージョンが間違っていると結論しました.
ソリューション1
build/webpack.base.conf.jsは、vueのalias別名を次のように設定します.
ソリューション2
src/mainを開きます.jsはVueオブジェクトの初期化を変更します.
に改心
なぜなら、templateプロパティを使用するには、コンパイラ付きの完全版vueを導入する必要があるからです.esm.js
もしvueファイルで使用
この形式でimportを用いて導入すると、完全版のvueは必要ない.esm.js、vue-loaderを使用する場合*.vueファイルは自動的にjsにプリコンパイルされます.
実はvuejsの公式サイトでは、異なる構築バージョンに対する解釈が明確に説明されています(https://cn.vuejs.org/v2/guide...)
その他の関連記事:8つのバージョンvueの違いを整理(https://segmentfault.com/a/11...)
[Vue warn]: You are using the runtime-only build of Vue where the template compiler is not available. Either pre-compile the templates into render functions, or use the compiler-included build.
エラープロンプトの説明と検索の結果、プロジェクトが導入したvueコンパイルバージョンが間違っていると結論しました.
ソリューション1
build/webpack.base.conf.jsは、vueのalias別名を次のように設定します.
resolve: {
alias: {
vue: 'vue/dist/vue.esm.js'
}
}
ソリューション2
src/mainを開きます.jsはVueオブジェクトの初期化を変更します.
new Vue({
el: '#app',
router,
components: { App },
template: ''
})
に改心
new Vue({
el: '#app',
router,
render: h => h(App)
})
なぜなら、templateプロパティを使用するには、コンパイラ付きの完全版vueを導入する必要があるからです.esm.js
もしvueファイルで使用
export default {
name:'name1',
data() {
return {};
}
};
この形式でimportを用いて導入すると、完全版のvueは必要ない.esm.js、vue-loaderを使用する場合*.vueファイルは自動的にjsにプリコンパイルされます.
実はvuejsの公式サイトでは、異なる構築バージョンに対する解釈が明確に説明されています(https://cn.vuejs.org/v2/guide...)
その他の関連記事:8つのバージョンvueの違いを整理(https://segmentfault.com/a/11...)