xxxxxxxxxx
const path = require('path');
module.exports = {
entry: {
// Specify entry points for each Lambda function
function1: path.resolve(__dirname, 'src', 'function1.js'),
function2: path.resolve(__dirname, 'src', 'function2.js'),
// Add more entry points as needed
},
output: {
path: path.resolve(__dirname, 'dist'),
filename: '[name].js', // Use '[name]' to dynamically generate output filenames
},
module: {
rules: [
{
test: /\.json$/,
use: 'json-loader',
},
],
},
};
xxxxxxxxxx
const path = require('path');const HtmlWebpackPlugin = require('html-webpack-plugin');module.exports = { entry: path.join(__dirname,'src','index.js'), output: { path: path.join(__dirname,'build'), filename: 'index.bundle.js' }, mode: process.env.NODE_ENV || 'development', resolve: { modules: [path.resolve(__dirname, 'src'), 'node_modules'] }, devServer: { contentBase: path.join(__dirname,'src') }, plugins: [ new HtmlWebpackPlugin({ template: path.join(__dirname,'src','index.html') }) ]};
xxxxxxxxxx
webpack is a module bundler. Its main purpose is to bundle JavaScript files for usage in a browser,
xxxxxxxxxx
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
</head>
<body>
<script src="dist/bundle.js"></script>
</body>
</html>
xxxxxxxxxx
const fs = require('fs');
const yaml = require('js-yaml');
const path = require('path');
// Load the generated CloudFormation template
const cfnTemplatePath = 'path/to/packaged.yaml';
const cfnTemplate = yaml.safeLoad(fs.readFileSync(cfnTemplatePath, 'utf8'));
// Extract the S3 artifact paths for Lambda functions
const entryPoints = {};
for (const resourceLogicalId in cfnTemplate.Resources) {
const resource = cfnTemplate.Resources[resourceLogicalId];
if (resource.Type === 'AWS::Serverless::Function') {
const codeUri = resource.Properties.CodeUri;
// Convert local paths to S3 paths if necessary
entryPoints[resourceLogicalId] = path.join(codeUri, 'index.js');
}
}
// Configure Webpack with the extracted entry points
module.exports = {
entry: entryPoints,
output: {
path: path.resolve(__dirname, 'dist'),
filename: '[name].js',
},
// Add other webpack configuration options as needed
};
xxxxxxxxxx
const path = require('path');const HtmlWebpackPlugin = require('html-webpack-plugin');module.exports = { entry: path.join(__dirname,'src','index.js'), output: { path: path.join(__dirname,'build'), filename: 'index.bundle.js' }, mode: process.env.NODE_ENV || 'development', resolve: { modules: [path.resolve(__dirname, 'src'), 'node_modules'] }, devServer: { contentBase: path.join(__dirname,'src') }, plugins: [ new HtmlWebpackPlugin({ template: path.join(__dirname,'src','index.html') }) ]};