Безсерверный веб-пакет не связывает handlers.js - PullRequest
0 голосов
/ 23 октября 2018

Я новичок в 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 (глобальный)

1 Ответ

0 голосов
/ 28 октября 2018
  1. Сначала установите веб-пакет.

    npm install --save-dev webpack
    
  2. Установите плагин безсерверного веб-пакета

    npm install serverless-webpack --save-dev
    
  3. Добавить плагинto serverless.yml

    service: hello-world
    plugins:
        - serverless-webpack
    custom:
        webpackIncludeModules: true
    
  4. Ваш файл package.json будет выглядеть следующим образом:

    "scripts": {
        "test-process": "mocha --require babel-core/register ./tests/unit.test.js",
        "deploy": "./node_modules/.bin/serverless remove --stage dev --region us-east-1 && ./node_modules/.bin/serverless deploy -v --stage dev --region us-east-1"
    }
    
  5. Затем вы можете развернуть его с помощью этогокоманда: npm run deploy

  6. Кроме того, с помощью mocha вы можете проверить свой код перед выполнением развертывания.Для этого у вас будет настроен babel

Я подготовлю вам базовый пример hello-world с webpack4 и без сервера:

https://github.com/ns4lin4s/stackoverflow

Не забудьте добавить ответное приложение / json в apigateway:

enter image description here

дайте мне знать, каксделал работу ..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...