我现在试图解决这个问题6个小时,我慢慢开始失去理智,所以请原谅我的一般性问题。
首先我正在使用:
节点:8.10.0 | npm:5.6.0 |纱线:1.5.1
我刚刚将我的项目升级到Node v8并且npm拒绝安装所有依赖项,所以我安装了纱线,它立即解决了这个问题。
我的资源是使用Laravel Mix编译的,它使用Webpack,Babel,......内部。
安装和编译我的源代码现在完全正常但由于某种原因我编译的js文件不再工作(即使我降级到之前的Node版本 - 6.10.0)。
Uncaught TypeError: fn.bind is not a function
at nativeBind (admin.js?id=8c4a6887899977ba8021:72515)
at initMethods (admin.js?id=8c4a6887899977ba8021:75849)
at initState (admin.js?id=8c4a6887899977ba8021:75617)
at Vue._init (admin.js?id=8c4a6887899977ba8021:76936)
at new Vue (admin.js?id=8c4a6887899977ba8021:77037)
at Object../resources/assets/js/admin.js (admin.js?id=8c4a6887899977ba8021:83350)
at __webpack_require__ (admin.js?id=8c4a6887899977ba8021:20)
at Object.1 (admin.js?id=8c4a6887899977ba8021:83790)
at __webpack_require__ (admin.js?id=8c4a6887899977ba8021:20)
at ./node_modules/babel-loader/lib/index.js?{"cacheDirectory":true,"presets":[["env",{"modules":false,"targets":{"browsers":["> 2%"],"uglify":true}}]],"plugins":["transform-object-rest-spread",["transform-runtime",{"polyfill":false,"helpers":false}]]}!./node_modules/vue-loader/lib/selector.js?type=script&index=0!./resources/assets/js/components/Autocomplete.vue.Object.defineProperty.value (admin.js?id=8c4a6887899977ba8021:63)
我绝对不知道这个错误意味着什么,更不用说是什么导致它了。
我知道错误信息非常通用,可能意味着许多事情,但希望有人知道在我的背景下它意味着什么。
谢谢!
答案 0 :(得分:2)
@Ortomala Lokni的回答让我朝着正确的方向前进。
出于某种原因,我认为我的问题与我的构建脚本,npm,webpack或任何类似的东西有关,当然 - 事实并非如此。
事件虽然它并不是真正的API更改,因为他建议在我的JS文件中只是对VueJS构造函数的错误调用,由于某种原因,它已被先前版本的VueJs忽略但显然不是目前的一个。
对于任何遇到一些奇怪错误的人来说,只是没有意义我推荐以下内容:
尽管这些步骤看似显而易见,但你很容易忘记这么简单的事情,因为在使用现代JS时可能会破坏数百万件事。
答案 1 :(得分:1)
有时,当您升级库时,您必须调整一些代码。由于Javascript不是一种打字语言,因此问题不会出现在编译时,而是出现在运行时。
在您的情况下,我认为您遇到与this one类似的问题。
检查纱线已升级的库,并验证某些API是否已更改。