Mic*_*sky 4 firebase typescript
尝试在将用于 TypeScript 项目的空 git 存储库上将Firebase 添加到您的 JavaScript 项目时,运行时出现以下错误firebase deploy:
> functions@ build /Users/mosofsky/Documents/Developer/abcplan/functions
> tsc
src/index.ts:1:1 - error TS6133: 'functions' is declared but its value is never read.
1 import * as functions from 'firebase-functions'; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Found 1 error.
npm ERR! code ELIFECYCLE npm ERR! errno 2 npm ERR! functions@ build: `tsc` npm ERR! Exit status 2 npm ERR! npm ERR! Failed at the functions@ build script. npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in: npm ERR! /Users/mosofsky/.npm/_logs/2019-09-06T03_00_54_557Z-debug.log
Error: functions predeploy error: Command terminated with non-zero exit code2
Run Code Online (Sandbox Code Playgroud)
由于我正在遵循 Google 的入门指南,因此我希望一切正常。
And*_*w E 15
根本原因是 a) 声明了变量但未使用,b) TypeScript 编译器配置为将未使用的变量标记为错误。
在我看来,这种配置在基本设置中是多余的。也许未来对功能设置的编辑将解决这个问题。
正如其他人指出的那样,理想的选择就是简单地使用该变量,即使其“未使用”。
有时需要函数的参数,或者至少声明但不使用参数是有用的。在这种情况下,您可以使用 前缀_,然后告诉 TypeScript 可以忽略带有前导下划线的未使用变量。
作为最后的手段,您可以告诉 TypeScript 忽略所有未使用的变量。更改此行,tsconfig.json以便未使用的变量不再是“错误” - 不推荐:
$ cat functions/tsconfig.json
{
"compilerOptions": {
"module": "commonjs",
"noImplicitReturns": true,
"noUnusedLocals": true, // <-- change to false. Not recommended!
...
Run Code Online (Sandbox Code Playgroud)
我发现我可以在编写一些代码之前注释掉有问题的行。
文件位置functions/src/index.ts来自存储库的根目录(不是src/index.ts)。
第一行说
import * as functions from 'firebase-functions';
Run Code Online (Sandbox Code Playgroud)
所以我给它加上了//这样的前缀:
// import * as functions from 'firebase-functions';
Run Code Online (Sandbox Code Playgroud)
然后我重新跑了firebase deploy,我走得更远(我遇到了另一个错误,无关但已通过Error: HTTP error: 400, Project 'my_project' is not a Firestore enabled project 解决)。
| 归档时间: |
|
| 查看次数: |
6449 次 |
| 最近记录: |