Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/380.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript (无服务器脱机计划错误)类型错误[ERR_INVALID_ARG_TYPE]:类型错误;路径“;参数的类型必须为字符串。接收类型对象_Javascript_Node.js_Yaml_Serverless_Aws Serverless - Fatal编程技术网

Javascript (无服务器脱机计划错误)类型错误[ERR_INVALID_ARG_TYPE]:类型错误;路径“;参数的类型必须为字符串。接收类型对象

Javascript (无服务器脱机计划错误)类型错误[ERR_INVALID_ARG_TYPE]:类型错误;路径“;参数的类型必须为字符串。接收类型对象,javascript,node.js,yaml,serverless,aws-serverless,Javascript,Node.js,Yaml,Serverless,Aws Serverless,我正在尝试使用npm无服务器脱机调度器创建一个schedule cron作业。但不知何故,我得到了一个错误的“路径”,即使有路径选项的时间表。 这是我的serverless.local.yml文件: functions: assignTask: handler: src/taskHandler.run events: - schedule: enabled: true rate: rate(1 minute) stud

我正在尝试使用npm无服务器脱机调度器创建一个schedule cron作业。但不知何故,我得到了一个错误的“路径”,即使有路径选项的时间表。 这是我的serverless.local.yml文件:

functions:
  assignTask:
    handler: src/taskHandler.run
    events:
      - schedule:
          enabled: true
          rate: rate(1 minute)

  students:
    name: ${self:custom.project}-${self:custom.environment}-students
    handler: src/handler.handler
    events:
      - http:
          method: any
          path: /students/
          cors: true
      - http:
          path: "/students/{proxy+}"
          method: any
          cors: true

我从这个bug中注意到,yml文件路径是路径数组,而不仅仅是字符串。您可以看到我在下面打印的控制台日志 下面是错误消息:

 Serverless: Offline [HTTP] listening on http://localhost:5002
[srv-file] Serverless: Enter "rp" to replay the last request
[srv-students] [ 'serverless.local.yml', 'serverless.local.yml' ] ----------
[srv-students]  
[srv-students]   Type Error ---------------------------------------------
[srv-students]  
[srv-students]   TypeError [ERR_INVALID_ARG_TYPE]: The "path" argument must be of type string. Received type object
[srv-students]       at validateString (internal/validators.js:112:11)
[srv-students]       at Object.join (path.js:1039:7)
[srv-students]       at Utils.findServicePath (/Volumes/E/Students-NodeJS/services/students/node_modules/serverless/lib/classes/Utils.js:111:31)
[srv-students]       at new Serverless (/Volumes/E/Students-NodeJS/services/students/node_modules/serverless/lib/Serverless.js:42:18)
[srv-students]       at /Volumes/E/Students-NodeJS/services/students/node_modules/serverless/bin/serverless.js:76:24
[srv-students]       at tryCatcher (/Volumes/E/Students-NodeJS/services/students/node_modules/bluebird/js/release/util.js:16:23)
[srv-students]       at Promise._settlePromiseFromHandler (/Volumes/E/Students-NodeJS/services/students/node_modules/bluebird/js/release/promise.js:547:31)
[srv-students]       at Promise._settlePromise (/Volumes/E/Students-NodeJS/services/students/node_modules/bluebird/js/release/promise.js:604:18)
[srv-students]       at Promise._settlePromise0 (/Volumes/E/Students-NodeJS/services/students/node_modules/bluebird/js/release/promise.js:649:10)
[srv-students]       at Promise._settlePromises (/Volumes/E/Students-NodeJS/services/students/node_modules/bluebird/js/release/promise.js:729:18)
[srv-students]       at Promise._fulfill (/Volumes/E/Students-NodeJS/services/students/node_modules/bluebird/js/release/promise.js:673:18)
[srv-students]       at Promise._resolveCallback (/Volumes/E/Students-NodeJS/services/students/node_modules/bluebird/js/release/promise.js:489:14)
[srv-students]       at Promise._settlePromiseFromHandler (/Volumes/E/Students-NodeJS/services/students/node_modules/bluebird/js/release/promise.js:559:17)
[srv-students]       at Promise._settlePromise (/Volumes/E/Students-NodeJS/services/students/node_modules/bluebird/js/release/promise.js:604:18)
[srv-students]       at Promise._settlePromise0 (/Volumes/E/Students-NodeJS/services/students/node_modules/bluebird/js/release/promise.js:649:10)
[srv-students]       at Promise._settlePromises (/Volumes/E/Students-NodeJS/services/students/node_modules/bluebird/js/release/promise.js:729:18)
[srv-students]       at Promise._fulfill (/Volumes/E/Students-NodeJS/services/students/node_modules/bluebird/js/release/promise.js:673:18)
[srv-students]       at Promise._resolveCallback (/Volumes/E/Students-NodeJS/services/students/node_modules/bluebird/js/release/promise.js:489:14)
[srv-students]       at Promise._settlePromiseFromHandler (/Volumes/E/Students-NodeJS/services/students/node_modules/bluebird/js/release/promise.js:559:17)
[srv-students]       at Promise._settlePromise (/Volumes/E/Students-NodeJS/services/students/node_modules/bluebird/js/release/promise.js:604:18)
[srv-students]       at Promise._settlePromise0 (/Volumes/E/Students-NodeJS/services/students/node_modules/bluebird/js/release/promise.js:649:10)
[srv-students]       at Promise._settlePromises (/Volumes/E/Students-NodeJS/services/students/node_modules/bluebird/js/release/promise.js:729:18)
[srv-students]       at Promise._fulfill (/Volumes/E/Students-NodeJS/services/students/node_modules/bluebird/js/release/promise.js:673:18)
我的软件包版本:

    "@types/node": "^12.12.28",
    "serverless": "^1.63.0",
    "serverless-dotenv-plugin": "^2.3.2",
    "serverless-offline": "^5.12.1",
    "serverless-offline-scheduler": "^0.4.2",
    "serverless-webpack": "^5.3.1",

您是否尝试在
路径中不使用引号:“/students/{proxy+}”
?@stamstam No。该路径与此问题无关,请查看错误消息。将打印出路径数组['serverless.local.yml'、'serverless.local.yml'],而不仅仅是'serverless.local.yml',以查找处理程序函数。我不知道为什么它是字符串数组。是的,CWD的配置输入没有验证步骤
    "@types/node": "^12.12.28",
    "serverless": "^1.63.0",
    "serverless-dotenv-plugin": "^2.3.2",
    "serverless-offline": "^5.12.1",
    "serverless-offline-scheduler": "^0.4.2",
    "serverless-webpack": "^5.3.1",