2016-03-07 15 views
5

Ho un file exports.js semplice e ho zippato la cartella e caricarlo su Lambda, ma sul tempo di esecuzione dà un errore:Impossibile importare il modulo in 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)" 
] 

Qualsiasi aiuto sarebbe apprezzato. Grazie

+0

Puoi pubblicare la struttura della tua cartella ed eventualmente dove stai cercando di "richiedere" il modulo "esportazioni"? – idbehold

+0

Se si sta ancora affrontando il problema, forse questo potrebbe aiutare: http://stackoverflow.com/a/43105773/4455570 Cheers! –

risposta

2

1.Name il file exports.js

2.Name il gestore, all'interno del file, exports.handler

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

3.Impostare il gestore nella configurazione lambda alle esportazioni. handler

4. Carica solo il contenuto della cartella, se lo zip anche nella cartella non troverà il file.

5.Rename il file zip exports.zip

0

Includere una directory chiamata node_modules nella directory. Zip il tuo index.js + la directory node_modules e carica.

-1

Ho esperienza simile. Mentre quello che ho fatto è in serverless, ma penso che l'errore sia ancora rilevante perché proviene anche da AWS lambda. Questo è l'errore che ho visto:

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) 

Sto usando il webpack ed ho risolto rimuovendo una biblioteca nelle mie webpack.config.js e il nome della libreria è auto-esplicativo.

quello che ho fatto è la rimozione di questa linea da webpack.config.js:

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

per favore fatemi sapere se avete bisogno di ulteriori dettagli. Grazie

Problemi correlati