Dan*_*orn 5 browserify vue.js laravel-elixir vue-router
我正在开发一个Web应用程序,该应用程序将vue-router用于带有Laravel 5后端的SPA。它使用.vue用于运行应用程序组件的文件laravel-elixir-vueify来创建所需的JavaScript。
我已经与Vue一起成功设置了vue-router,并且可以加载与主Vue和Vue路由器实例相同的文件中定义的组件。
但是,当我尝试并需要.vue文件中包含的组件时,问题就来了。尽管browserify / vueify在我检查Vue实例时报告运行成功,但是Vue dev-tools在实例内仅显示匿名组件片段,而在内没有标记router-view。
控制台内部没有错误,尽管看起来外部组件未正确加载。
各种代码和文件的示例如下:
gulpfile.js
...
mix.browserify('dashboard.js');
...
Run Code Online (Sandbox Code Playgroud)
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>
Run Code Online (Sandbox Code Playgroud)
凡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
Run Code Online (Sandbox Code Playgroud)
以下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')
Run Code Online (Sandbox Code Playgroud)
凡dashboard.js位于resources\assets\js\dashboard.js。
我建立了一个最小的测试项目并成功实现了我的目标。
最终结果是一些 Node 包具有不兼容的版本,以及不需要的包。
我修剪了我的packages.json文件,然后重新安装了所需的vue、vue-router和laravel-elixir-vueify软件包,以确保所有内容都已正确安装并具有正确的依赖项,并且此后一直有效。
| 归档时间: |
|
| 查看次数: |
1533 次 |
| 最近记录: |