Я новичок в Webpack и без сервера, поэтому, пожалуйста, прости меня, если это кажется тривиальным.Я скопировал эти коды из npm serverless-webpack .
Я пытался использовать serverless webpack --out dist
, но моя командная строка не распознала webpack
.Если я попытался serverless deploy <opts> <opt>
, то он компилировался и упаковывался в .serverless, но без необходимых файлов JS.
webpack.config.js
var path = require('path');
var slsw = require('serverless-webpack');
var nodeExternals = require('webpack-node-externals');
module.exports = {
context: path.resolve(__dirname, './src'),
entry: slsw.lib.entries,
target: 'node',
externals: [nodeExternals()],
output: {
libraryTarget: 'commonjs',
path: path.resolve(__dirname, '.webpack'),
filename: '[name].js',
},
module: {
rules: [
{
test: /\.jsx$/,
loader: ["babel-loader"],
include: __dirname,
exclude: /node_modules/
}
]
}
};
Serverless.yml
service: hello-world
frameworkVersion: '>=1.2.0 <2.0.0'
provider:
name: aws
runtime: nodejs8.10
deploymentBucket:
name: test-bucket
plugin:
- serverless-webpack
- serverless-prune-plugin
custom:
prune:
automatic: true
number: 3
webpack: webpack.config.js
webpackIncludeModules:
packagePath: ./src/package.json
forceInclude:
- express
- body-parser
functions:
getHelloWorld:
handler: functions/test.hello
events:
- http:
path: test/hello
method: get
webpack: 4.22.0 (глобальный)
serverless-webpack: 5.3.0 (глобальный)