node.js - 当外部模块使用 Array.isArray() 时,无服务器失败并显示“您可能需要适当的加载程序来处理此文件类型”
问题描述
当我运行时sls deploy
,我收到以下错误
Serverless: Bundling with Webpack...
ERROR in /Users/pgonzalez/myapps/happy-soup-bulk-service/node_modules/sfdc-happy-api/lib/rest.js 258:54
Module parse failed: Unexpected token (258:54)
You may need an appropriate loader to handle this file type, currently no loaders are configured to process this file. See https://webpack.js.org/concepts#loaders
...
| function isAccessError(jsonResponse){
|
> if(Array.isArray(jsonResponse) && jsonResponse[0]?.message == `Cannot retrieve documents in a user's private folder; move the document to a named folder`){
| return true;
| }
箭头指向外部模块的调用,Array.isArray
即258
外部模块的行,即错误中引用的行。
如果我删除外部模块的导入,错误就会消失
import bulkDependecy from 'sfdc-dependency-api-bulk';
奇怪的是我可以Array.isArray()
直接在处理程序上使用
//import bulkDependecy from 'sfdc-dependency-api-bulk';
async function getUsage(event, context) {
const {ids,connection} = event.body;
// THIS DOESN'T FAIL
Array.isArray(['true']);
//let result = await bulkDependecy.getUsage(ids,connection);
return {
statusCode: 200,
body: 'result'
};
}
export const handler = getUsage;
这是我的serverless.yml
service:
name: happy-soup-bulk-service
plugins:
- serverless-bundle
- serverless-pseudo-parameters
provider:
name: aws
runtime: nodejs12.x
memorySize: 256
stage: ${opt:stage, 'dev'}
region: eu-west-1
functions:
createAuction:
handler: src/handlers/getUsage.handler
events:
- http:
method: POST
path: /usage
和我的package.json
{
"name": "happy-soup-bulk-service",
"version": "1.0.0",
"description": "Codingly template for Serverless Framework projects",
"author": "Ariel Weinberger <ariel@codingly.io>",
"license": "MIT",
"devDependencies": {
"babel-core": "^6.25.0",
"babel-loader": "^7.1.1",
"babel-plugin-transform-runtime": "^6.23.0",
"babel-preset-es2015": "^6.0.15",
"babel-polyfill": "^6.23.0",
"babel-preset-env": "^1.6.0",
"serverless-bundle": "^1.3.3",
"serverless-pseudo-parameters": "^2.5.0",
"webpack": "^4.35.2"
},
"dependencies": {
"aws-sdk": "^2.639.0",
"sfdc-dependency-api-bulk": "1.0.0"
}
}
解决方案
推荐阅读
- sql - Kotlin 暴露 - 没有标识列的表的实体
- wordpress - 在移动菜单上对齐最后 3 个菜单项
- java - 服务器从java中的另一个客户端发送事件?
- python - 如何从具有熊猫系列对象和浮点数的列表中删除浮点值
- google-apps-script - 如果选中复选框,则删除部分行
- inheritance - Kotlin 中的主构造函数 + 调用超级构造函数
- multidimensional-array - 有没有办法将表单中的所有字段收集到二维数组中以写入 Google 表格?
- visual-studio-code - Visual Studio graphql“执行查询”如何工作?
- spring - 根据枚举值选择验证
- python - ImportError:DLL 加载失败:找不到指定的模块。(NASA Fortran CEA 的 Python Rocketcea 包装器)