未捕获(承诺)类型错误:无法获取动态导入的模块:http://localhost:81/controllers/chatController

Posted

技术标签:

【中文标题】未捕获(承诺)类型错误:无法获取动态导入的模块:http://localhost:81/controllers/chatController【英文标题】:Uncaught (in promise) TypeError: Failed to fetch dynamically imported module: http://localhost:81/controllers/chatController 【发布时间】:2020-06-14 17:38:59 【问题描述】:

目前,我正在与 mongodb.Atlas 集群进行一对一聊天。我有一个 script.js 文件,我试图从那里调用控制器的函数。我收到以下错误...

我已尝试导入控制器

let log = import('../controllers/chatController');

每当用户发送消息时

    $scope.sendMsg = ($event) => 
        const keyCode = $event.which || $event.keyCode; 
        if (keyCode === 13 && $scope.message !== null)  
            socket.emit('getMsg',
                toid : $scope.selectedUser,
                msg : $scope.message,
                name : $scope.username
            );

            log.createListing($scope);
            $scope.message = null;  
               
    ;

下面是目录

知道如何导入聊天控制器吗?这样我就可以使用 createListing 函数了吗?

【问题讨论】:

如果要在浏览器中导入文件,首先需要添加 .js 扩展名。它们是如何从服务器提供的?其次,你确定控制器是前端JS而不是后端?你从哪里得到这些文件... 如果您使用的是 mongodb 依赖项,我很确定它是后端。所以你需要在与你的服务器代码相同的文件中使用它。 @zavr 现在我已将 import 更改为 require ,现在我收到不同的错误“未捕获的 ReferenceError:require 未定义”和“错误:[ng:areq] errors.angularjs.org/1.4.7/ng/…”跨度> 是的,因为您尝试在前端使用后端代码。您的应用程序有 2 个部分:服务器和前端。数据库代码必须进入 server.js 或 utils/routes 好的@zavr 我会这样做,并会更新你。谢谢 【参考方案1】:

您可能只需要添加.js 扩展名。


改为使用数据库代码更新您的utils/routes.js,因为此时您正在将数据库逻辑放入浏览器 JS。

【讨论】:

以上是关于未捕获(承诺)类型错误:无法获取动态导入的模块:http://localhost:81/controllers/chatController的主要内容,如果未能解决你的问题,请参考以下文章

错误::未捕获(承诺中)类型错误:无法读取未定义的属性“内容”

如何修复此错误:未捕获(承诺)类型错误:无法读取未定义的属性(读取“长度”)

未捕获(承诺中)类型错误:无法读取未定义的属性“协议”

未捕获(承诺中)类型错误:无法读取未定义的属性“uid”

在与 API 调用关联的函数中:未捕获(承诺中)类型错误:无法读取未定义的属性“包含”

VueJS 3 / 路由器 / 带有推送的重定向:未捕获(承诺中)类型错误:无法读取未定义的属性(读取“推送”)