繁体   English   中英

Lambda 层 node_modules

[英]Lambda layers node_modules

我正在创建一个 lambda 层,捆绑了一些依赖项,包括 node_modules。 我成功地创建了一个层,但是当我尝试从我的代码中请求一个模块时,控制台告诉我找不到该模块。 这是代码

var Promise = require('promise');
module.exports.handler = function(event, context, callback) {   
  new Promise(function (resolve, reject) {
    setTimeout(function() {
      callback(null, "helloWorld2");
    }, 9000);
  });
};

如何从层中引用节点模块???

我正在创建一个lambda层,捆绑了一些依赖项,包括node_modules。 我已经成功创建了一个图层,但是当我尝试从我的代码中请求一个模块时,控制台告诉我找不到该模块。 这是代码

var Promise = require('promise');
module.exports.handler = function(event, context, callback) {   
  new Promise(function (resolve, reject) {
    setTimeout(function() {
      callback(null, "helloWorld2");
    }, 9000);
  });
};

如何从层引用节点模块???

我正在创建一个lambda层,捆绑了一些依赖项,包括node_modules。 我已经成功创建了一个图层,但是当我尝试从我的代码中请求一个模块时,控制台告诉我找不到该模块。 这是代码

var Promise = require('promise');
module.exports.handler = function(event, context, callback) {   
  new Promise(function (resolve, reject) {
    setTimeout(function() {
      callback(null, "helloWorld2");
    }, 9000);
  });
};

如何从层引用节点模块???

2022年的依赖...

我很难弄清楚这是否仍然是最先进的,或者我们现在可以简化依赖关系。 事实证明,现在可以在没有 hack 或复杂设置的情况下包含依赖项。

对我来说,用new lambda.NodeJsFunction()而不是new lambda.Function()创建 lambda 就可以 然而,我很难找到一个工作样本。 我决定与您分享一个示例 repo。

示例存储库

https://github.com/AntoniusGolly/cdk-lambda-typescript-boilerplate

它能做什么:

  • 它有很多你不需要证明目的的东西(例如,它产生一个基于 config.ts 的 API 网关,所以如果你不需要它,请忽略该部分)
  • 它允许您使用 TS 和 ES6
  • 它允许您使用依赖项:即我在这里使用 node-fetch
  • 我只做cdk deploy而没有其他捆绑
  • 根据文档默认情况下,除了 aws-sdk 之外,所有节点模块都捆绑在一起。
  • 我不知道它是如何工作的,但确实如此;)

我希望这对某人有所帮助,因为我会很感激。

我正在创建一个lambda层,捆绑了一些依赖项,包括node_modules。 我已经成功创建了一个图层,但是当我尝试从我的代码中请求一个模块时,控制台告诉我找不到该模块。 这是代码

var Promise = require('promise');
module.exports.handler = function(event, context, callback) {   
  new Promise(function (resolve, reject) {
    setTimeout(function() {
      callback(null, "helloWorld2");
    }, 9000);
  });
};

如何从层引用节点模块???

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM