添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
相关文章推荐
直爽的小摩托  ·  Spring cloud ...·  1 年前    · 
至今单身的啄木鸟  ·  Pandas+Numpy ...·  2 年前    · 
玩足球的树叶  ·  记录:Could not resolve ...·  2 年前    · 
酷酷的火锅  ·  python+opencv+skimage ...·  2 年前    · 

1.从git上拉下来代码,并且npm install安装了代码需要的依赖后,运行代码报错:

error in ./node_modules/_mqtt@4.3.7@mqtt/lib/client.js

2.完整错误如下:

大概意思是下面 那一段代码需要合适的 loader来解析。可是仔细一看会发现报错的文件是   下载的依赖文件 node_modules中的, 一般依赖中的代码我们是不需要更改的 (别人开发的组件或插件直接使用即可) 。猜测极有可能是版本不匹配,某些变量或用法不兼容。

ERROR  Failed to compile with 1 errors                                                                                                                      下午5:57:57
 error  in ./node_modules/_mqtt@4.3.7@mqtt/lib/client.js
Module parse failed: Unexpected token (118:38)
You may need an appropriate loader to handle this file type.
|               if (alias) {
|                 packet.topic = ''
|                 packet.properties = { ...(packet.properties), topicAlias: alias }
|                 debug('applyTopicAlias :: auto assign(use) topic: %s - alias: %d', topic, alias)
|               } else {
 @ ./node_modules/_mqtt@4.3.7@mqtt/lib/connect/index.js 3:19-39
 @ ./src/store/modules/websocket.js
 @ ./src/store/modules \.js$
 @ ./src/store/index.js
 @ ./src/main.js
 @ multi ./node_modules/_webpack-dev-server@2.11.5@webpack-dev-server/client?http://localhost:8080 webpack/hot/dev-server ./src/main.js

二、解决方法

1.降低mqtt的版本

  如上面错误中所示:我下载的依赖中的 mqtt的版本是  4.3.7

  1)进入下载依赖的官网 npm

  2)搜索mqtt,并且切换到 versions 标签下面。 

       如图1所示, 2.18.9版本才是稳定、安全的;   而4.3.7是最新版本。cnpm或npm install时一般会下载最新版本的。

      注:一般下载软件或插件等,都要选择稳定版的,降低因不兼容带来的问题

 3)ctrl+c退出当前的错误,指定版本号 为2.18.9重新下载 mqtt

      cnpm install mqtt@2.18.9

 4) 下载完成后,重新运行程序,不再报错,正常启动了   

1.遇到错误不要惊慌,盲目百度,要学会自己分析解决问题。其实我没有解决问题之前也是在百度,结果发现没有人写类似的问题,才放弃搜索,开始自己思考问题。经过仔细思考后,发现上述解决办法。

2.遇到 Module parse failed:xxxx(即node_modules文件夹中的东西报错)一般是由于版本过高或过低,可以去官网查看相应模块,下载稳定的模块即可解决

希望对你有帮助!

如有错误,欢迎指正,谢谢!

如果你也是npm安装了一个包,然后在导入的时候报这个语法错,那你可以接着往下看,如果不是就不用往下看了 问题原因: 因为导入的组件库是直接上源码的,必须告知webpack,需要编译一下这个库,让源码中的es6、es7的特性转换为es5 解决方案: 1.在vue.config.js 里面加上 transpileDependencies: [‘/@yabby-business/’] 2.还有一种方式在babel.config.js中指定库导入的时候用的编
Module parse failed: Unexpected token (9:16) You may need an appropriate loader to handle this file type, currently no loaders are configured to process this file. See https://webpack.js.org/concepts#loaders 报这个错是因为webpack没有配置对应的loader. 如果你是开发环境,使用npm st
原因:这个是版本问题,4.2.x 以上(目前我使用最新版也是这个问题,可能后续会改进) 解决方案:使用低版本的,我用的4.1.x就可以。 这里是连接成功后输出了一下client。 VUE的解决方案: 看网上其他的说vue安装,不仅需要修改版本,还需要将版本前面的^去掉(packpage.json里),不过没用vue测试,大家可以试试(这里截了一张其他博客的图) vue watch报错:Error in callback for watcher “xxx“: “TypeError: Cannot read properties of undefined ... 22671 使用 vue cli 的 vue serve命令单独运行.vue文件报错: Error: Cannot find module ‘@vue/compiler-sfc/package.json‘ 13418 使用组件,一直报错Unknown custom element: <etregister> - did you register the component correctly? implements studio: 只能install一下了 vue watch报错:Error in callback for watcher “xxx“: “TypeError: Cannot read properties of undefined ... -626-: 太感谢了,救我一命 vue draggable组件,拖拽元素时,获取元素上在data或setup中定义的数据 奇异果酱: 谢谢up,@change真的好用,@add总是获取不到拖拽的那一项,只能获取拖拽后原位置的那一项表情包 使用 vue cli 的 vue serve命令单独运行.vue文件报错: Error: Cannot find module ‘@vue/compiler-sfc/package.json‘ 圆咕隆咚大西瓜: 大佬 运行完在浏览器端显示的是文件中的代码回事 el-select报错:vue.esm.js?5cd5:5105 [Vue warn]: <transition-group> children must be keyed: <ElTag>;无法选中 fengMap路径规划(导航)报错:起点不在地图底板内部;人行导航和车行导航的区别 el-time-picker显示 时间格式控制----format