gpt4 book ai didi

javascript - Vue 模板或渲染函数未定义

转载 作者:行者123 更新时间:2023-12-02 21:05:32 25 4
gpt4 key购买 nike

我的网站上的 Vue 渲染有问题。我从github下载了一些论坛应用程序,我在安装它时遇到了一些困难,因为 npm 没有真正更新,并且应用程序是 2 年前的。我设法使用 package.json 修复了有关 npm 的所有内容,例如:

"devDependencies": {
"axios": "^0.18.1",
"bootstrap": "^4.4.1",
"cross-env": "^5.2.1",
"jquery": "^3.5.0",
"laravel-mix": "^5.0.4",
"lodash": "^4.17.15",
"popper.js": "^1.16.1",
"resolve-url-loader": "^3.1.1",
"sass-loader": "^8.0.2",
"vue": "2.5.21",
"vue-template-compiler": "2.5.21"
},
"dependencies": {
"laravel-echo": "^1.7.0",
"node-sass": "^4.13.1",
"pusher-js": "^4.4.0",
"vue-loader": "15.5.1",
"vue-router": "^3.1.6",
"vue-simplemde": "^1.0.4",
"vuetify": "^1.5.24"
}

但现在问题出在渲染 vue 上:

app.js:71622 [Vue warn]: Failed to mount component: template or render function not defined.

这就是 app.js 的样子:

require('./bootstrap');

window.Vue = require('vue');
import Vue from 'vue'
import Vuetify from 'vuetify'
import VueSimplemde from 'vue-simplemde'
import 'simplemde/dist/simplemde.min.css'


Vue.use(Vuetify)
Vue.use(VueSimplemde)
import md from 'marked'
window.md = md;

import User from './Helpers/User'
window.User = User

import Exception from './Helpers/Exception'
window.Exception = Exception

window.EventBus = new Vue();

/**
* Next, we will create a fresh Vue application instance and attach it to
* the page. Then, you may begin adding components to this application
* or customize the JavaScript scaffolding to fit your unique needs.
*/

Vue.component('AppHome', require('./components/AppHome.vue'));
import router from './Router/router.js'

const app = new Vue({
el: '#app',
router
});

最佳答案

您收到该错误是因为您的应用程序根本没有指定渲染模板,new Vue()缺少 render名为 Render Function 的选项.

这将包含应用程序运行所需的最低 HTML,最重要的是:<div id="app"></div>是必需的,因为 el选项设置为 #app告诉 Vue 在渲染时应该将其自身挂载到哪个 html 元素。

为实例提供模板的最常见方法是拥有一个专用组件,该组件将成为应用程序顶级 html 布局的所在地,但最低要求如下:

// App.vue

<template>

<div id="app"></div>

</template>
// app.js

import Vue from 'vue'
import App from './App.vue' // <-- MAIN TEMPLATE
import router from './router'

const app = new Vue({
el: '#app',
render: h => h(App), // <-- REGISTER MAIN TEMPLATE
router
});

然而,由于这个源似乎是一个 Laravel 项目,显然 HTML 位于服务器端渲染的 Blade 模板中,而且我总是发现 Laravel 渲染 Vue 组件服务器端是一个不稳定的概念,我更喜欢使用 Laravel 的 SPA 作为API。

也许这个资源会有所帮助 https://vuejsdevelopers.com/2017/11/06/vue-js-laravel-server-side-rendering/

关于javascript - Vue 模板或渲染函数未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61235000/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com