![](/img/trans.png)
[英]React + Firebase Cloud Functions in Typescript fails to deploy
[英]Firebase function fails to deploy from visual studio due to mysterious syntax errors (see screenshot or screen recording)
当我部署我的 firebase function 时,由于似乎是语法问题,部署失败。 请参阅屏幕截图中的终端 window。 错误主要包括“字符串必须是双引号”和“预期缩进 8 个空格但找到 2 个制表符”。 在 VisualStudio IDE 中,我看不到这些错误,所以我试图弄清楚为什么当我尝试将此 function 部署到 Z035489FF8D092741943E4A8324 时会出现这些错误。
我在 Visual Studio 中使用 Typescript 并通过终端中的firebase deploy --only functions
命令部署到 Firebase。
端子 Output:
(base) samyoon@Sams-MBP FitnessApp % firebase deploy --only functions
=== Deploying to 'fitnessapp-b3eea'...
i deploying functions
Running command: npm --prefix "$RESOURCE_DIR" run lint
lint
eslint --ext .js,.ts .
/Users/samyoon/Documents/FitnessApp/functions/src/index.ts
1:19 error Require statement not part of import statement @typescript-eslint/no-var-requires
1:27 error Strings must use doublequote quotes
2:15 error Require statement not part of import statement @typescript-eslint/no-var-requires
2:23 error Strings must use doublequote quotes
4:16 error Strings must use doublequote quotes
7:15 error Strings must use doublequote quotes
8:22 warning 'context' is defined but never used @typescript-eslint/no-unused-vars
14:1 error Unexpected tab character no-tabs
14:1 error Mixed spaces and tabs no-mixed-spaces-and-tabs
17:1 error Unexpected tab character no-tabs
17:1 error Mixed spaces and tabs no-mixed-spaces-and-tabs
18:1 error Unexpected tab character no-tabs
18:1 error Expected indentation of 8 spaces but found 2 tabs indent
19:1 error Unexpected tab character no-tabs
19:1 error Expected indentation of 8 spaces but found 2 tabs indent
19:9 error Strings must use doublequote quotes
20:1 error Unexpected tab character no-tabs
20:1 error Expected indentation of 8 spaces but found 2 tabs indent
20:9 error Strings must use doublequote quotes
21:1 error Unexpected tab character no-tabs
21:1 error Expected indentation of 6 spaces but found 1 tab indent
21:4 error Missing semicolon semi
✖ 22 problems (21 errors, 1 warning)
11 errors and 0 warnings potentially fixable with the `--fix` option.
Error: functions predeploy error: Command terminated with non-zero exit code 1
代码:
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp();
import {} from 'firebase-admin';
exports.createUser = functions.firestore
.document('users/{userId}')
.onCreate((snap, context) => {
// Get an object representing the document
// e.g. {'name': 'Marie', 'age': 66}
const userData = snap.data();
// access a particular field as you would any JS property
const userUID = userData.uid;
// perform desired operations ... create new WorkoutCycle document
admin.collection("WorkoutCycles").doc().set({
createdTimestamp: Date.now(),
name: 'FunctionCreatedMe',
user: 'users/'+userUID,
})
});
这是该问题的屏幕录像: https://www.loom.com/share/881de3fe7e2f45ccb4f99155b69c5bea
这是问题的屏幕截图:Visual Studio IDE 和终端的屏幕截图
我能够解决这个问题。 我去了我的 firebase.json 文件,它看起来像这样:
{
"functions": {
"predeploy": [
"npm --prefix \"$RESOURCE_DIR\" run lint",
"npm --prefix \"$RESOURCE_DIR\" run build"
]
}
}
并删除了这部分:
"predeploy": [
"npm --prefix \"$RESOURCE_DIR\" run lint",
"npm --prefix \"$RESOURCE_DIR\" run build"
]
之后我使用以下命令部署了我的 function:
firebase deploy --only functions
我的 function 成功部署到 Firebase 并且我可以在控制台中看到它。
尽管用例不同,但这篇 github 帖子有助于发现解决方案。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.