Reputation: 2748
i recently learning about vue
I have this file main.js
import Vue from 'vue/dist/vue.js'
import Buefy from 'buefy'
import 'buefy/lib/buefy.css'
Vue.use(Buefy)
var App = new Vue({
el: '#app',
data: {
message : "It's working"
}
})
and here is my html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Vue Example</title>
</head>
<body>
<h3 id="app">{{ message }}</h3>
<script src="dist/build.js"></script>
<script>
</script>
</body>
</html>
It's working. But, now i'm trying to do something with my script. I change main.js
(I'm using webpack
)
import Vue from 'vue/dist/vue.js'
import Buefy from 'buefy'
import 'buefy/lib/buefy.css'
Vue.use(Buefy)
then my index.html to this
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Vue Example</title>
</head>
<body>
<h3 id="app">{{ message }}</h3>
<script src="dist/build.js"></script>
<script>
var App = new Vue({
el: '#app',
data: {
message:"It's not working"
}
})
</script>
</body>
</html>
and i get this error
Uncaught ReferenceError: Vue is not defined
How can i fix this ?
Upvotes: 16
Views: 46809
Reputation: 1130
If you want to make a new instance of Vue
directly in index.html
you should either include the library in your index.html
:
<script src="https://unpkg.com/[email protected]"></script>
Or you need to assign the Vue
to window
object in main.js
like so:
main.js:
import Vue from 'vue';
window.Vue = Vue;
then in index.html
you have access to Vue()
because it is a global property of window
object.
Upvotes: 42