実現したいこと
Laravel5.5(homestead使用)にてvue-routerを使用したい
→CDNを使用すると動く
→ファイルを読み込むと動かない、ファイル読み込みでも動くようにしたい
試したこと
npm install --save vue-router npm install --save require.js //requireもundefinedになっていたのでinstall ```を実行
//package.jsonの一部
"dependencies": {
"express": "^4.16.3",
"vue-router": "^3.0.1"
"require.js": "^1.0.0"
}
**該当コード(一部省略)** --- 現状は Uncaught ReferenceError: VueRouter is not defined Uncaught ReferenceError: require is not defined のエラー。 「js/app.jsの取り込み部分(npm run dev実行済)」
import Vue from 'vue'
import VueRouter from 'vue-router'
Vue.use(VueRouter)
「表示部分のファイル」
//head内にてapp.js読み込み(**ここをCDNでvue-routerを読み込むとうまくいく)
<script src="{{ mix('js/app.js') }}"></script> <body> <div id="app"> <nav class="navbar navbar-expand-lg navbar-light bg-light"> <a href="" class="navbar-brand">HOME</a> <ul class="navbar-nav"> <li class="navbar-item"><router-link to="about_us" class="nav-link">about us</router-link></li> <li class="navbar-item"><router-link to="blog" class="nav-link">blog</router-link></li> <li class="navbar-item"><router-link to="contact" class="nav-link">contact</router-link></li> <li class="navbar-item"><router-link to="login" class="nav-link">log in</router-link></li> </ul> </nav> <router-view></router-view> </div> <script> const about_us = { template: '<div>About us</div>' } const blog = { template: '<div>bloog</div>' } const contact = { template: '<div>contact!!</div>' } const login = { template: '<div>login!!</div>' } const router = new VueRouter({//**該当箇所① mode: 'history', routes: [ //**該当箇所② { path: '/about_us', component: require('./components/ExampleComponent.vue') }, { path: '/blog', component: blog }, { path: '/contact', component: contact }, { path: '/login', component: login } ] }); const app = new Vue({ router }).$mount('#app') </script> </body> </html> ```よろしくお願いいたします。
追記
すみません、書き忘れていましたがapp.jsにコードを書いてnpm run dev実行はしておりました。
しかし下記のようなエラーがconsoleにて出力されます
[Vue warn]: Cannot find element: #app (index):281 Uncaught ReferenceError: Vue is not defined
app.jsのコードはこちらです
/** * First we will load all of this project's JavaScript dependencies which * includes Vue and other libraries. It is a great starting point when * building robust, powerful web applications using Vue and Laravel. */ import Vue from 'vue' import VueRouter from 'vue-router' import VuePassword from 'vue-password' Vue.use(VueRouter) require('./bootstrap'); // window.Vue = require('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('navbar', require('./components/layouts/navbar.vue')); Vue.component('example-component', require('./components/ExampleComponent.vue')); const about_us = { template: '<div>About us!</div>' } const blog = { template: '<div>bloooog</div>' } const contact = { template: '<div>contakttt</div>' } const login = { template: '<div>loginnn</div>' } //ルートの設定 const router = new VueRouter({ mode: 'history', routes :[ { path: '/about_us', component: require('./components/ExampleComponent.vue') }, { path: '/blog', component: blog }, { path: '/contact', component: contact }, { path: '/login', component: login } ] }); const app = new Vue({ router }).$mount('#app')
よろしくお願いいたします。

回答2件
あなたの回答
tips
プレビュー