Giting laisse deviner de https://medium.com/a-man-with-no-server/deploying-a-serverless-application-using-webpack-and-babel-to-support-es2015-to-aws-2f61cff8bafb, j'ai modifié une Serverless fonctions d'azur projet de test de démarrage avec serverless-webpack
, qui semble être satified avec vos besoins.
J'ai créé un dossier src
dans le répertoire racine du projet fonctions azure serverless, en tant que dossier de développement du code source. Avec 2 fichiers de test:
handler.js
'use strict';
let tool = require("./tool");
/* eslint-disable no-param-reassign */
module.exports.hello = function (context) {
context.log('JavaScript HTTP trigger function processed a request.');
context.res = {
// status: 200, /* Defaults to 200 */
body: tool.hello(),
};
context.done();
};
tool.js
module.exports={
hello:()=>{
return "hello world";
}
}
webpack.config.js
dans le répertoire racine:
var nodeExternals = require('webpack-node-externals')
module.exports = {
entry: './src/handler.js',
target: 'node',
externals: [nodeExternals()],
output: {
libraryTarget: 'commonjs',
path: __dirname,
filename: 'handler.js', // this should match the first part of function handler in serverless.yml
},
module: {
loaders: [
{
test: /\.jsx?$/,
exclude: /node_modules/,
include: __dirname,
loaders: ["babel-loader"]
}
]
}
};
Avec quel fichier de configuration, le fichier extrait fourni sera être situé dans service/handler.js
dans le répertoire racine.
Je modifié serverless.yml
aussi bien, il semble en partie maintenant comme:
package:
include:
- service/handler.js
exclude:
- handler.js
functions:
hello:
handler: service/handler.hello
events:
- http: true
x-azure-settings:
authLevel : anonymous
- http: true
x-azure-settings:
direction: out
name: res
custom:
webpackIncludeModules:
packagePath: './package.json'
Après ces modifiés, utilisez serverless deploy
regrouperons les fichiers dans le dossier src
puis package et déployer à la fonction d'azur.
Espérons que ça aide.
Salut, merci, pourriez-vous partager ce repo avec moi? – JJ23
https://github.com/Walk4Muscle/az-function-serverless-babel –
Un grand merci, malheureusement j'ai eu cette erreur. './Node/NodeTemplatePlugin' même chose que [ici] (https://stackoverflow.com/questions/44812204/serverless-webpack-cannot-find-module-node-nodetemplateplugin) – JJ23