董路飞
董路飞
  • 发布:2023-04-28 13:24
  • 更新:2023-11-15 16:43
  • 阅读:2425

【报Bug】vue3 导入模块化js报错"default" is not exported by "../xx.js"

分类:uni-app

产品分类: uniapp/小程序/微信

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: Windows [版本 10.0.22000.1696]

HBuilderX类型: 正式

HBuilderX版本号: 3.7.11

第三方开发者工具版本号: 1.06.2303220 Windows 64

基础库版本号: 2.31.0

项目创建方式: HBuilderX

示例代码:
    import mqtt from "./mqtt.js";  

    console.log("mqtt", mqtt);

操作步骤:
    import mqtt from "./mqtt.js";  

    console.log("mqtt", mqtt);

预期结果:
    import mqtt from "./mqtt.js";  

    console.log("mqtt", mqtt); // 预期输出正常的函数

实际结果:

在 uni-app 的vue3里 报错(main.js、App.vue 和 page页面的js里使用都一样):
"default" is not exported by "../../../../../../../E:/uni-app/testmqtt0428/mqtt.js", imported by "../../../../../../../E:/uni-app/testmqtt0428/App.vue".

bug描述:

附件解压的 mqtt.js 文件,在微信小程序原生里和 uni-app 的 vue2 都能正常导入和使用,在 uni-app 的vue3里 光导入就报错(3者文件代码都一样如下:)

    import mqtt from "./mqtt.js";  

    console.log("mqtt", mqtt);
2023-04-28 13:24 负责人:无 分享
已邀请:
w***@163.com

w***@163.com

楼主,这个问题后来你怎么解决的?

  • 董路飞 (作者)

    mqtt 的一个特定的版本,的特殊引入方式跑通(vue3)

    2023-08-28 15:12

董路飞

董路飞 (作者) - 搜索小程序麻丝和 App 麻丝

我领导跑通的,教你在uni-app的vue3下使用mqtt:

npm i mqtt@4.0.1


//import { connect } from "mqtt"  
import { connect } from "mqtt/dist/mqtt"  
console.log("跑通的点个赞",connect )  

const client = connect('mqtt://192.168.31.245:8083/mqtt', {   
    // const client = connect("wss://broker.emqx.io:8084/mqtt")  
 username: "test",  
 password: "123456",  
 protocol: "wx", // 小程序只能用 wx 或 wxx 协议   
 clientId: 'wechat_' + Math.random().toString(16).substring(2, 8),  
 keepalive: 60,  
});  

client.on("connect", function() {  
 console.log("连接成功")  
 client.subscribe("order/push/001", function(err) {  
  if (!err) {  
   client.publish("order/push/001", "我发布的消息你收到没")  
        }  
    })  
})
JoeX

JoeX

我是把mqtt的包拿出来放在根目录,然后使用这个命令去引用的 import * as mqtt from "mqtt/dist/mqtt.js"

要回复问题请先登录注册