带有 vue-router 的 Vue JS 不加载 vueified 组件
Vue JS with vue-router not loading vueified components
我正在开发一个 Web 应用程序,该应用程序将 vue-router 用于具有 Laravel 5 后端的 SPA。它为 运行 到 laravel-elixir-vueify
的应用程序组件使用 .vue
文件来创建所需的 JavaScript.
我已经成功设置了 vue-router 和 Vue,并且可以加载在与主 Vue 和 Vue 路由器实例相同的文件中定义的组件。
然而,当我尝试要求一个包含在 .vue
文件中的组件时,问题就来了。尽管 browserify / vueify 报告成功 运行,但当我检查 Vue 实例时,Vue 开发工具只在实例中显示了匿名组件片段,并且 router-view
中没有放置任何标记。
控制台中没有错误,尽管看起来外部组件没有正确加载。
各种代码和文件示例如下:
gulpfile.js
...
mix.browserify('dashboard.js');
...
dashboardOverview.vue
<template>
<div>
<h1>Overview</h1>
<img src="//placehold.it/320x100" style="width: 100%; margin-bottom: 15px" alt="Pathway Visualisation" />
</div>
</template>
<script>
export default {}
</script>
其中 dashboardOverview.vue
位于 resources\assets\js\components\dashboardOverview.vue
。
主视图
@section('content')
<div id="app">
<h1>Welcome</h1>
<a v-link="{ path: '/activate' }">Activate</a>|
<a v-link="{ path: '/' }">Overview</a>
<router-view></router-view>
</div>
@endsection
以下补充JavaScript:
var Vue = require('vue');
var VueRouter = require('vue-router');
Vue.use(VueRouter)
/* Components */
var dashboardOverview = require('./components/dashboardOverview.vue');
var userSetup = require('./components/userSetup.vue');
var App = Vue.extend();
var router = new VueRouter()
Vue.config.debug = true
router.map({
'*': {
component: Vue.extend({template: '<h4>404 Not found</h4>'})
},
'/': {
component: dashboardOverview
},
'/activate': {
component: userSetup
}
})
router.start(App, '#app')
其中 dashboard.js
位于 resources\assets\js\dashboard.js
。
我建立了一个最小的测试项目,并成功地实现了我的目标。
最终结果是一些 Node 包的版本不兼容,还有不需要的包。
我删除了我的 packages.json
文件,然后重新安装了所需的 vue
、vue-router
和 laravel-elixir-vueify
包,以确保所有内容都已正确安装并具有正确的依赖项从那以后一直在工作。
我正在开发一个 Web 应用程序,该应用程序将 vue-router 用于具有 Laravel 5 后端的 SPA。它为 运行 到 laravel-elixir-vueify
的应用程序组件使用 .vue
文件来创建所需的 JavaScript.
我已经成功设置了 vue-router 和 Vue,并且可以加载在与主 Vue 和 Vue 路由器实例相同的文件中定义的组件。
然而,当我尝试要求一个包含在 .vue
文件中的组件时,问题就来了。尽管 browserify / vueify 报告成功 运行,但当我检查 Vue 实例时,Vue 开发工具只在实例中显示了匿名组件片段,并且 router-view
中没有放置任何标记。
控制台中没有错误,尽管看起来外部组件没有正确加载。
各种代码和文件示例如下:
gulpfile.js
...
mix.browserify('dashboard.js');
...
dashboardOverview.vue
<template>
<div>
<h1>Overview</h1>
<img src="//placehold.it/320x100" style="width: 100%; margin-bottom: 15px" alt="Pathway Visualisation" />
</div>
</template>
<script>
export default {}
</script>
其中 dashboardOverview.vue
位于 resources\assets\js\components\dashboardOverview.vue
。
主视图
@section('content')
<div id="app">
<h1>Welcome</h1>
<a v-link="{ path: '/activate' }">Activate</a>|
<a v-link="{ path: '/' }">Overview</a>
<router-view></router-view>
</div>
@endsection
以下补充JavaScript:
var Vue = require('vue');
var VueRouter = require('vue-router');
Vue.use(VueRouter)
/* Components */
var dashboardOverview = require('./components/dashboardOverview.vue');
var userSetup = require('./components/userSetup.vue');
var App = Vue.extend();
var router = new VueRouter()
Vue.config.debug = true
router.map({
'*': {
component: Vue.extend({template: '<h4>404 Not found</h4>'})
},
'/': {
component: dashboardOverview
},
'/activate': {
component: userSetup
}
})
router.start(App, '#app')
其中 dashboard.js
位于 resources\assets\js\dashboard.js
。
我建立了一个最小的测试项目,并成功地实现了我的目标。
最终结果是一些 Node 包的版本不兼容,还有不需要的包。
我删除了我的 packages.json
文件,然后重新安装了所需的 vue
、vue-router
和 laravel-elixir-vueify
包,以确保所有内容都已正确安装并具有正确的依赖项从那以后一直在工作。