serverless-webpack 找不到模块“./node/NodeTemplatePlugin”

2024-05-05

我正在尝试使用无服务器 webpack 插件 https://github.com/elastic-coders/serverless-webpack,虽然单独运行 webpack 工作得很好,但尝试运行 serverless-webpack 失败了Cannot find module './node/NodeTemplatePlugin'.

我的serverless.yml文件如下:

service: kamehameha

provider:
  name: aws
  runtime: nodejs6.10

functions:
  getDeltas:
    handler: bundle.getDeltas

plugins:
  - serverless-webpack

我的 webpack 配置如下:

let path = require("path")
let webpack = require("webpack")
let nodeExternals = require("webpack-node-externals")

module.exports = {
  entry: "./src/index.re",
  target: "node",
  node: {
    __dirname: true,
  },
  externals: [nodeExternals()],
  output: {
    path: __dirname,
    filename: "bundle.js",
  },
  module: {
    loaders: [
      {
        test: /\.re$/,
        loader: "bs-loader",
      },
    ],
  },
  resolve: {
    extensions: [".re", ".ml", ".js"],
  },
}

Webpack 单独将原因文件编译为 bundle.js,但是 serverless-webpack 运行时出现上述错误。

我正在尝试使用该插件,因为单独编译和部署会导致 lambda 错误,无法找到处理程序。

我尝试删除全局 webpack 安装并仅使用本地 webpack 安装以及无服务器。有人遇到过类似的事情吗?

Thanks!


确保你有includeModules: true在 webpack 配置中设置custom您的部分serverless.yml.

From 无服务器 webpack https://github.com/serverless-heaven/serverless-webpack#configure文档:

custom:
  webpack:
    webpackConfig: 'webpack.config.js'   # Name of webpack configuration file
    includeModules: false   # Node modules configuration for packaging
    packager: 'npm'   # Packager that will be used to package your external modules
    excludeFiles: src/**/*.test.js # Provide a glob for files to ignore
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

serverless-webpack 找不到模块“./node/NodeTemplatePlugin” 的相关文章

随机推荐