KO
|
EN
gitlite — search
Search
#python
#hacktoberfest
#docker
#pytorch
#golang
#mongodb
#flutter
#api
#kubernetes
#cpp
#deep-learning
#vim
serverless-plugin-webpack
★ 75
Open GitHub ↗
Serverless Plugin Webpack
Download README (.md)
Explore Similar Repositories
jschr.io
:
The static website generator service behind jschr.io.
phoenix_china_umbrella
:
Elixir 语言 Phoenix web 框架中文社区 (Chinese forum of Phoenix and Elixir)
vue2_vuex2_webpack2_ssr
:
use vue2 + vuex2 + webpack2 to build a server-side-render service
generate-pages-tutorial
:
教你一步步从零构建 webpack 开发多页面环境
r-music
:
react music demo
// repository documentation
Was this content helpful?
★ 0
(0 ratings)
Select Rating:
★
★
★
★
★
Submit Feedback
Recent Feedback
×
Download README
Do you want to download the
README.md
file for
serverless-plugin-webpack
?
Download (.md)
# Serverless Plugin Webpack [](http://www.serverless.com) [](https://badge.fury.io/js/serverless-plugin-webpack) [](https://travis-ci.org/goldwasserexchange/serverless-plugin-webpack) [](https://coveralls.io/github/goldwasserexchange/serverless-plugin-webpack?branch=master) [](https://www.npmjs.com/package/serverless-plugin-webpack) [](https://greenkeeper.io/) A [serverless](http://www.serverless.com) plugin to **automatically** bundle your functions **individually** with [webpack](https://webpack.js.org). Compared to other webpack/optimization plugins, this plugin has the following features/advantages: - Zero configuration - Supports `sls package`, `sls deploy` and `sls deploy function` - Functions are packaged individually, resulting in Lambda deployment packages (zip) containing only the code needed to run the function (no bloat) - Uses an *array* of webpack configurations instead of one webpack configuration with multiple entry points, resulting in better tree-shaking because dependencies are isolated (see [Tree shaking](https://github.com/FormidableLabs/formidable-playbook/blob/master/docs/frontend/webpack-tree-shaking.md)). This plugin is partially based on [Serverless Webpack](https://github.com/elastic-coders/serverless-webpack). ## Install Using npm: ``` npm install serverless-plugin-webpack --save-dev ``` Add the plugin to your `serverless.yml` file: ```yaml plugins: - serverless-plugin-webpack ``` ## Package exclude / include The plugin will add `'**'` as an `exclude` at the service level and each bundled javascript file as an `include` at the function level. Original includes and excludes specified in your `serverless.yml` are preserved. ## Webpack configuration By default the plugin will look for a `webpack.config.js` in the service root. You can specify a custom config file in your `serverless.yml`: ```yaml custom: webpack: config: ./path/to/config/file.js series: true # run Webpack in series, useful for large projects. Defaults to false. ``` The `entry` and `output` objects are set by the plugin. Example of webpack config: ```javascript module.exports = { // entry: set by the plugin // output: set by the plugin target: 'node', externals: [ /aws-sdk/, // Available on AWS Lambda ], module: { rules: [ { test: /\.js$/, exclude: /node_modules/, loader: 'babel-loader', query: { presets: [ [ 'env', { target: { node: '6.10' }, // Node version on AWS Lambda useBuiltIns: true, modules: false, loose: true, }, ], 'stage-0', ], }, }, ], }, }; ``` If you want to further optimize the bundle and are using ES6 features, you can use the [UglifyJS Webpack Plugin](https://github.com/webpack-contrib/uglifyjs-webpack-plugin) together with the harmony branch of [UglifyJS 2](https://github.com/mishoo/UglifyJS2#harmony) or the [Babili Webpack Plugin](https://github.com/webpack-contrib/babili-webpack-plugin).