あるbladeファイルにて<script src="{{asset('js/app2.js')}}"></script>
でjsファイルの読み込み。
![]
すると「Uncaught SyntaxError: Unexpected identifier」とのエラー。これは単純な文法ミスであるエラーなので文末に ; を入れてみるも変化なし。このimportしているだけの場所でsyntaxのエラーが出ているのがよくわかりません。。
ちなみにこちらがpublic/js/app2.jsです
import Vue from 'vue' import VueRouter from 'vue-router' Vue.use(VueRouter) require('../../resources/assets/js/bootstrap'); // window.Vue = require('vue'); Vue.component('example-component', require('../../resources/assets/js/components/ExampleComponent.vue')); const app = new Vue({ el: '#app', data: { msg:"this is ok" } });
よろしくお願いいたします。
回答を受けての追加
(このように ; を追加いたしました、ちなみにCDNを使用すると成功します)
import Vue from 'vue'; import VueRouter from 'vue-router'; Vue.use(VueRouter);
回答を受けての追加②
main.blade.php
@extends('layouts.navbar') @section('content') <div id="app2"> <example-component></example-component> </div> <div id="test2"> //CDNを使用しVueの練習をしただけのコードなので省略 </div> <script> //Vueの実装(省略) </script> @endsection
layouts/navbar.blade.php
<!DOCTYPE html> <html lang="{{ app()->getLocale() }}"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta.2/css/bootstrap.min.css" integrity="sha384-PsH8R72JQ3SOdhVi3uxftmaW6Vc51MKb0q5P2rRUpPvrszuE4W1povHYgTpBfshb" crossorigin="anonymous"> <link rel="stylesheet" href="css/app.css"> <title>Home</title> </head> <body> <div id="app"> <nav class="navbar navbar-expand-lg navbar-light bg-light"> <a href="" class="navbar-brand">KAZU</a> <ul class="navbar-nav"> <li class="navbar-item"><router-link to="about_us" class="nav-link">O nas</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">contakt</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> @yield('content') <!-- Bootstrap用JavaScript --> <script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.3/umd/popper.min.js" integrity="sha384-vFJXuSJphROIrBnz7yo7oB41mKfc8JzQZiCq4NCceLEaO4IHwicKwpJf9c9IpFgh" crossorigin="anonymous"></script> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta.2/js/bootstrap.min.js" integrity="sha384-alpBpkh1PFOepccYVYDB4do5UnbKysX5WZXm3XxPqe5iKTfUKjNkCk9SaVuEZflJ" crossorigin="anonymous"></script> <script src="{{asset('js/app2.js')}}"></script> <script> window.onload = function(){ //テンプレートの設定 const about_us = { template: '<div>わたしたち</div>' } const blog = { template: '<div>ブログです</div>' } const contact = { template: '<div>コンタクト!</div>' } const login = { template: '<div>ログイン</div>' } //ルートの設定 const routes = [ { path: '/about_us', component: about_us }, { path: '/blog', component: blog }, { path: '/contact', component: contact }, { path: '/login', component: login } ] const router = new VueRouter({ routes // routes: routes の短縮表記 }) const app = new Vue({ router }).$mount('#app') } </script> </body> </html>
回答1件
あなたの回答
tips
プレビュー