Javascript (无服务器脱机计划错误)类型错误[ERR_INVALID_ARG_TYPE]:类型错误;路径“;参数的类型必须为字符串。接收类型对象
我正在尝试使用npm无服务器脱机调度器创建一个schedule cron作业。但不知何故,我得到了一个错误的“路径”,即使有路径选项的时间表。 这是我的serverless.local.yml文件: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
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",