【问题标题】:Runtime.ImportModuleError Error: Cannot find module 'axios/lib/utils' ServerlessRuntime.ImportModuleError 错误:找不到模块“axios/lib/utils”无服务器
【发布时间】:2020-08-13 05:44:51
【问题描述】:

我正在使用无服务器框架。后端为 node.js。我有几个微服务,所有其他微服务都工作正常,但现在我创建了微服务,我没有使用过Axios,但它仍然在控制台中抛出错误。 另一个问题是,在我的本地系统中它运行良好,但是当我将其推送到服务器时,它开始产生问题。

这是抛出错误的示例代码

    const { IamAuthenticator } = require('ibm-watson/auth');
    const NaturalLanguageUnderstandingV1 = require('ibm-watson/natural-language-understanding/v1');

    async function textAnalyse(req, res) {
      const naturalLanguageUnderstanding = new NaturalLanguageUnderstandingV1({
      version: '2019-07-12',
      authenticator: new IamAuthenticator({
        apikey: 'API KEY'
      }),
    url: 'https://URL/natural-language-understanding/api'
    });

    const analyzeParams = {
       'text': HtmlToText.fromString('Test text here'),
       'features': {
         'entities': {
           'sentiment': true,
           'limit': 100
          }
        }
    };

    const analysis = await naturalLanguageUnderstanding.analyze(analyzeParams);

    // prepare the response object
    res.send({ analysis: analysis });
  }

AWS 云手表中的错误 { "errorType": "Runtime.ImportModuleError", "errorMessage": "Error: Cannot find module 'axios/lib/utils'", "stack": [ "Runtime.ImportModuleError: Error: Cannot find module 'axios/lib/utils'", " at _loadUserApp (/var/runtime/UserFunction.js:100:13)", " at Object.module.exports.load (/var/runtime/UserFunction.js:140:17)", " at Object.<anonymous> (/var/runtime/index.js:45:30)", " at Module._compile (internal/modules/cjs/loader.js:778:30)", " at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)", " at Module.load (internal/modules/cjs/loader.js:653:32)", " at tryModuleLoad (internal/modules/cjs/loader.js:593:12)", " at Function.Module._load (internal/modules/cjs/loader.js:585:3)", " at Function.Module.runMain (internal/modules/cjs/loader.js:831:12)", " at startup (internal/bootstrap/node.js:283:19)", " at bootstrapNodeJSCore (internal/bootstrap/node.js:623:3)" ] }

【问题讨论】:

    标签: node.js amazon-web-services aws-lambda serverless


    【解决方案1】:

    我找到了解决方法。 当我们从 Lambda 调用第三方 API 时,它需要在内部实现 Axios。因此,您需要创建一个文件夹,该文件夹将包含一个 package.json 文件和依赖项

    "dependencies": {
        "axios": "^0.19.2"
      }
    

    然后在 AWS UI 左侧菜单的函数中添加图层

    然后将图层添加到您的函数中

    现在,通过执行上述活动,问题将得到解决,并且 Axios 依赖项已成功单独添加到微服务中。

    【讨论】:

    • 谢谢。我已经尝试过了。我实际上找到了这个链接medium.com/@anjanava.biswas/…,但我仍然收到错误`“errorType”:“Runtime.ImportModuleError”,“errorMessage”:“错误:找不到模块'axios'\n需要堆栈:\n- /var/task /index.js\n- /var/runtime/UserFunction.js\n- /var/runtime/index.js", "trace": [ "Runtime.ImportModuleError: Error: Cannot find module 'axios'",` Any有什么想法吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-10-08
    • 2017-11-05
    • 2020-10-22
    • 2020-10-14
    • 2019-11-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多