node.js - 升级Node版本后出现TypeError

标签 node.js npm babeljs yarnpkg

我花了 6 个小时试图解决这个问题,但我开始慢慢失去理智,所以请原谅我的笼统问题。

首先我正在使用:

Node :8.10.0 | npm:5.6.0 | yarn :1.5.1

我刚刚将我的项目升级到 Node v8 并且 npm 拒绝安装所有依赖项,所以我安装了 yarn 立即解决了这个问题。

我的源代码是使用 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)

我完全不知道这个错误是什么意思,更不用说是什么原因了。

我知道错误消息非常笼统,可能意味着很多事情,但希望有人根据我的上下文知道这意味着什么。

谢谢!

最佳答案

@Ortomala Lokni的回答将我推向了正确的方向。

出于某种原因,我认为我的问题与我的构建脚本、npm、webpack 或任何类似的东西有关,当然,事实并非如此。

事件虽然这并不是真正的 API 更改,因为他建议我的 JS 文件中只是错误地调用了 VueJS 构造函数,由于某种原因,它已被以前版本的 VueJs 忽略,但显然没有被当前的。

对于遇到一些毫无意义的奇怪错误的人,我推荐以下内容:

  • 首先:确定您真正的问题是什么 - 如果它编译它肯定与您的 JS 构建无关
  • 注释掉主文件中的所有 JS 代码
  • 此时错误应该消失了
  • 尝试逐行(或逐 block )取消注释并在每次取消注释后测试您的代码,从而缩小错误范围

尽管这些步骤可能看起来很明显,但您很容易忘记这样简单的事情,因为在使用现代 JS 时,可能会出现数以百万计的问题。

关于node.js - 升级Node版本后出现TypeError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49413845/

相关文章:

javascript - 使用 npm timepicker Laravel 5.8 的正确方法

javascript - 使用 Babel 编译具有依赖关系的 javascript

node.js - 在 socket.io 中控制来自客户端的心跳超时

Node.JS - firebase.auth() 不是函数

node.js - 我应该在 NPM package.json 中将 "start"脚本设置为什么?

node.js - Angular 6 - 删除node_module包并将其用于本地项目更改

javascript - babel 需要很长时间才能复制整个 html 模板

javascript - 为什么 babel-standalone@6 在 Firefox 20 中不起作用?

javascript - Multer [NodeJS] 用于多个字段

node.js - 使用 StaticFiles URL Rewrite 在 IISNODE 中提供静态文件