gpt4 book ai didi

javascript - Vueify + Elixir + 热加载 - 未捕获的类型错误 : Cannot read property 'indexOf' of undefined

转载 作者:搜寻专家 更新时间:2023-10-30 22:19:12 24 4
gpt4 key购买 nike

我已经将 Elixir 设置为使用 Vueify 和热重载插件。一切都编译正常,但我的编译文件出现控制台错误,Vue 组件似乎没有转换为 html,它仍然显示 <app></app>标签。如果我从 elixir 中删除热重载插件,页面呈现正常。

错误是:

Uncaught TypeError: Cannot read property 'indexOf' of undefined

控制台输出它

[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"]

因此值得一提的是,它正在接收来自热重载的消息,只是因为这个错误而没有呈现页面。错误发生在已编译的 app.js 中的以下行中文件。

// compat with < 2.0.0-alpha.7
if (Vue.config._lifecycleHooks.indexOf('init') > -1) {
initHookName = 'init'
}

这是我的文件

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');
});

ma​​in.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>

最佳答案

可能是 Vue 和 Vue-hot-reload-api 之间的版本兼容性问题。

举个例子,vueify@8.7.0目前依赖vue-hot-reload-api@1.3.2,似乎只兼容Vue@1.x。

根据个人经验,我在将 vue-hot-reload-api@2.x 与 vue@1.x 一起使用时发生了这个特定错误,尽管我没有以相反的方式进行测试。

Vue-hot-reload-api's Github readme 最顶部的注释, 似乎也验证了这个问题。

就我而言,我只是重新安装了兼容 vue@1.0.26 的 vue-hot-reload-api 版本,如下所示:

npm install --save-dev vue-hot-reload-api@^1.3.2

因此请查看您的依赖项的版本。

关于javascript - Vueify + Elixir + 热加载 - 未捕获的类型错误 : Cannot read property 'indexOf' of undefined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38148704/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com