繁体   English   中英

无服务器不包括我的 node_modules

[英]Serverless not including my node_modules

我有一个具有以下结构的 nodejs 无服务器项目:

-node_modules
-package.json
-serverless.yml
-funcitons
   -medium
     -mediumHandler.js

我的 serverless.yml:

service: googleAnalytic

    provider:
      name: aws
      runtime: nodejs6.10

      stage: dev
      region: us-east-1

    package:
      include:
        - node_modules/**

        functions:
          mediumHandler:
            handler: functions/medium/mediumHandler.mediumHandler
            events:

              - schedule:
              name: MediumSourceData 
              description: 'Captures data between set dates'
              rate: rate(2 minutes)

          - cloudwatchEvent:
              event:
                source:
                  - "Lambda"
                detail-type:
                  - ""
          - cloudwatchLog: '/aws/lambda/mediumHandler'

我的 sls 信息显示:

Service Information
service: googleAnalytic
stage: dev
region: us-east-1
stack: googleAnalytic-dev
api keys:
  None
endpoints:
  None
functions:
  mediumHandler: googleAnalytic-dev-mediumHandler

当我运行 sls 时:

serverless invoke local -f mediumHandler 

它可以工作,我的脚本在其中包含了 googleapis 和 aws-sdk 工作。 但是当我部署时,这些功能被跳过并且没有显示错误。

在调试serverless的打包过程时,使用sls package (或sls deploy --noDeploy (对于旧版本)。您将获得一个.serverless目录,您可以检查该目录以查看部署包中的内容。

从那里,你可以看到,如果node_modules或包含未并更改您的serverless.yml相应地,而无需每次你做出改变的时间部署。

默认情况下,无服务器将排除开发包。 检查您的package.json并确保您需要的包在dependencies对象中,因为devDependencies将被排除在外。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM