Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

Issue with working serverless-webpack

未关闭
#266 1 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

评估

难度
3/5
预计耗时
1-2 天
新手友好度
35/100
Issue 类型
缺陷
描述清晰度
基本清楚
活跃度
停滞
技术栈
javascript, webpack
领域
cloud

调研方向

先从 serverless.yaml 中的 handler 配置和 webpack.config.js 开始,然后将生成的 .webpack 路径与错误中显示的 _HANDLER 值进行比较。检查 plugin 和 serverless-webpack 如何推导打包后 handler 的路径。当已部署的 handler 路径与生成的 .webpack/a-dir/a-handler.handle 位置一致,并且 LocalStack 调用成功启动时,即表示完成。

由索引模型根据 Issue 内容生成。

描述

serverless-webpack status: backlog status: response required

As the documentation says, I added this configuration inside my custom property in the serverless.yaml

  localstack:
    stages:
      # list of stages for which the plugin should be enabled
      - local
      - development
    host: http://localhost  # optional - LocalStack host to connect to
    edgePort: 4566  # optional - LocalStack edge port to connect to
    autostart: true  # optional - Start LocalStack in Docker on Serverless deploy
    networks: #optional - attaches the list of networks to the localstack docker container after startup
      - host
      - overlay
    lambda:
      # Enable this flag to improve performance
      mountCode: true  # specify either "true", or a relative path to the root Lambda mount path

The webpack config is this for the serverless:

 webpack:
    webpackConfig: ./webpack.config.js
    includeModules: true
    excludeFiles: tests/**/*.{js,ts}
    keepOutputDirectory: true

This is the webpack configuration:

const path = require('path');
const slsw = require('serverless-webpack');
const nodeExternals = require('webpack-node-externals');

module.exports = {
  entry: slsw.lib.entries,
  target: 'node',
  mode: slsw.lib.webpack.isLocal ? 'development' : 'production',
  optimization: {
    minimize: false,
  },
  plugins: [],
  performance: {
    // Turn off size warnings for entry points
    hints: false,
  },
  externals: [nodeExternals()],
  module: {
    rules: [
      {
        test: /\.ts$/,
        use: 'ts-loader?configFile=tsconfig.build.json',
        exclude: [/node_modules/, /tests/],
      },
    ],
  },
  resolve: {
    extensions: ['.ts', '.js'],
  },
  output: {
    libraryTarget: 'commonjs2',
    path: path.join(__dirname, '.webpack'),
    filename: '[name].js',
  },
  cache: {
    type: 'filesystem',
  },
};

And I'm getting this error:

Execution environment startup failed: {"errorType":"Runtime.ImportModuleError","errorMessage":"Error: Cannot find module 'a-handler'\nRequire stack:\n- /var/runtime/index.mjs","trace":["Runtime.ImportModuleError: Error: Cannot find module 'a-handler'","Require stack:","- /var/runtime/index.mjs","    at _loadUserApp (file:///var/runtime/index.mjs:1087:17)","    at async UserFunction.js.module.exports.load (file:///var/runtime/index.mjs:1119:21)","    at async start (file:///var/runtime/index.mjs:1282:23)","    at async file:///var/runtime/index.mjs:1288:1"]}

And it looks like is because the handler path is incorrect, it says this

'_HANDLER': '.webpack/service/src/a-dir/a-handler.handle'

But when webpack package the code is located in .webpack/a-dir/a-handler.handle, what would be the solution for that, I'm kind of lost, should I update the output path?

主要语言
JavaScript
星标
542
派生
92
PR 合并指标
30 天内没有已合并 PR

贡献指南

打开贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

localstack/serverless-localstack 的其他 Issue

查看 localstack/serverless-localstack 的全部 Issue

相似的 Issue

更多 JavaScript Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。