2016-03-07 23 views
5

Tôi có một tập tin exports.js đơn giản và tôi đã nén thư mục và tải nó lên Lambda nhưng trên thời gian chạy nó mang lại một lỗi:Không thể nhập Module trong Lambda

"errorMessage": "Cannot find module 'exports'", 
"errorType": "Error", 
"stackTrace": 
[ 
"Function.Module._resolveFilename (module.js:338:15)", 
"Function.Module._load (module.js:280:25)", 
"Module.require (module.js:364:17)", 
"require (module.js:380:17)" 
] 

Bất kỳ trợ giúp sẽ được đánh giá cao. Cảm ơn

+0

Bạn có thể đăng cấu trúc thư mục của mình và có thể nơi bạn đang cố gắng 'yêu cầu 'mô-đun" xuất "không? – idbehold

+0

Nếu bạn vẫn gặp phải sự cố, điều này có thể hữu ích: http://stackoverflow.com/a/43105773/4455570 Chúc mừng! –

Trả lời

2

1.Name file exports.js

2.Name xử lý, bên trong file, exports.handler

exports.handler = function (event, context) 
{ 
    var YourSkill = new YourSkill(); 
    YourSkill.execute(event, context); 
} 

3.Set xử lý trong cấu hình lambda để xuất khẩu. handler

4.Zip chỉ nội dung của thư mục, nếu bạn nén thư mục thì nó sẽ không tìm thấy tệp của bạn.

5.Rename file zip exports.zip

0

Bao gồm một thư mục gọi node_modules trong thư mục của bạn. Nén tệp index.js của bạn + thư mục node_modules và tải lên.

-1

Tôi có trải nghiệm tương tự. Trong khi những gì tôi đã làm là trong serverless nhưng tôi nghĩ rằng lỗi vẫn còn có liên quan bởi vì nó cũng đến từ AWS lambda. Đây là lỗi mà tôi đã thấy:

Unable to import module 'src/handlers/list': Error 
    at Function.Module._resolveFilename (module.js:469:15) 
    at Function.Module._load (module.js:417:25) 
    at Module.require (module.js:497:17) 
    at require (internal/module.js:20:19) 
    at Object.<anonymous> (/var/task/src/handlers/list.js:400:18) 
    at __webpack_require__ (/var/task/src/handlers/list.js:20:30) 
    at Object.<anonymous> (/var/task/src/handlers/list.js:370:18) 
    at __webpack_require__ (/var/task/src/handlers/list.js:20:30) 
    at /var/task/src/handlers/list.js:63:18 
    at Object.<anonymous> (/var/task/src/handlers/list.js:66:10) 

Tôi đang sử dụng webpack và tôi đã giải quyết nó bằng cách xóa thư viện trong webpack.config.js và tên thư viện là tự giải thích.

những gì tôi đã được loại bỏ dòng này từ webpack.config.js:

const nodeExternals = require("webpack-node-externals"); 

xin vui lòng cho tôi biết nếu bạn cần biết thêm chi tiết. Cảm ơn bạn

Các vấn đề liên quan