Ich habe Elixir eingerichtet, um Vueify mit dem Hot Reload Plugin zu verwenden. Alles kompiliert ok, aber ich bekomme einen Konsolenfehler in meiner kompilierten Datei und die Vue-Komponente scheint nicht in HTML umgewandelt zu werden, es zeigt immer noch die <app></app>
Tags an. Wenn ich das Hot-Reload-Plugin von Elixir entferne, wird die Seite gerendert.Vueify + Elixir + Hotloading - Uncaught TypeError: Kann die Eigenschaft 'indexOf' von undefined nicht lesen
Der Fehler ist:
Uncaught TypeError: Cannot read property 'indexOf' of undefined
Die Konsolenausgabe es
[HMR] Attempting websocket connection to http://localhost:3123
app.js:10904 Uncaught TypeError: Cannot read property 'indexOf' of undefined
[vue-devtools] Ready. Detected Vue v1.0.26
[HMR] Websocket connection successful.
[HMR] Updated modules ["resources/assets/js/embeds/html/app.vue"]
So ist es wert zu erwähnen, dass es Nachrichten von heißem Nachladen empfängt, es nicht macht nur die Seite nicht, weil von diesem Fehler. Der Fehler tritt in den folgenden Zeilen in der kompilierten Datei app.js
auf.
// compat with < 2.0.0-alpha.7
if (Vue.config._lifecycleHooks.indexOf('init') > -1) {
initHookName = 'init'
}
Hier sind meine Dateien
gulpfile.js
var elixir = require('laravel-elixir');
var gutil = require('gulp-util');
require('laravel-elixir-vueify');
if (gutil.env._.indexOf('watch') > -1) {
// Add the browserify HMR plugin
elixir.config.js.browserify.plugins.push({
name: 'browserify-hmr',
options: {}
})
}
elixir(function (mix) {
mix.browserify('embeds/html/main.js', 'public/js/embeds/html/app.js');
});
main.js
var Vue = require('vue')
var App = require('./app.vue')
new Vue({
el: 'body',
components: {
app: App
},
created: function() {
console.log('test');
}
})
app.vue
<style>
</style>
<template>
<div id="player-wrapper">
{{ msg }}
</div>
</template>
<script>
export default {
data() {
return {
msg: 'Hello world!'
}
}
}
</script>
index.blade.php
<body>
<app></app>
<script type="text/javascript" src="{{ asset('js/app.js') }}"></script>
</body>
Vielen Dank. Ich habe auf [email protected] heruntergestuft und es hat funktioniert. – Wasim
Danke, ältere vue-hot-reload-api hat auch für mich funktioniert! – Olenka