finden Ich möchte ein Paket erstellen, auf AWS zu implementieren mit serverless und webpack.aws + serverless + webpack => nicht Modul xxx in prod
In serverless.yml
möchte ich alle Ressourcen erklären (vor allem DynamoDB Tabellen) und die Funktionen. Ich möchte externe node.js
Bibliotheken verwenden.
Die Ordnerstruktur ist:
|- serverless.yml
|- webpack.config.js
|- package.json
|- src
\ - file1.js
| - file2.js
Auszug aus serverless.yml
functions:
function1:
handler: src/file1.f1
function2:
handler: src/file2.f2
Auszug aus webpack.congfig.js
module.exports = {
entry: {
file1: './src/file1.js',
file2: './src/file2.js',
},
target: 'node',
output: {
libraryTarget: 'commonjs',
path: path.join(__dirname, '.webpack'),
filename: '[name].js',
},
module: {
loaders: [
{
test: /\.json$/,
loaders: ['json-loader'],
},
],
},
};
Wenn dabei ein serverless deploy
alles in Ordnung ist, aber wenn die Lambda-Prüfung bekomme ich einen Fehler:
{
"errorMessage": "Cannot find module '/var/task/src/file1'",
"errorType": "Error",
"stackTrace": [
"Function.Module._load (module.js:276:25)",
"Module.require (module.js:353:17)",
"require (internal/module.js:12:17)"
]
}
Können Sie mir sagen, was mache ich falsch?
Da ich ein Neuling mit Serverless bin, können Sie mir einige "bessere Praxis" für die Code-und Entwicklungsorganisation vorschlagen? (Serverless und Nodejs sind auferlegt, Webpack und alles andere ist nicht)
Durch das Lesen der Links werden die Dinge klarer. Ich habe meine Blockierungssituation gelöst, indem ich den 'src /' des Handlers in 'serverless.yml' Datei entfernt habe. – Costin