首页 > 解决方案 > 要求语句不是导入语句的一部分 - 谷歌可以函数和打字稿

问题描述

我正在关注有关使用谷歌云任务触发云功能的本教程。但是我无法上传代码,因为我得到了这个错误。“要求语句不是导入语句的一部分”,它引用了以下代码:

const {CloudTasksClient} = require("@google-cloud/tasks");

我尝试了多种不同的解决方案,例如this onethis one。我完全按照代码和说明进行操作,但没有成功。是否有人对修复此或其他导入谷歌云任务的方式有任何建议?任何帮助都会很棒!

编辑:

我已经尝试过import {CloudTasksClient} from "@google-cloud/tasks",它会在我的变量中抛出错误,例如

(类型 'string' 不可分配给类型 '"POST" | HttpMethod | "HTTP_METHOD_UNSPECIFIED" | "GET" | "HEAD" | "PUT" | "DELETE" | "PATCH" | "OPTIONS" | null | undefined'。 )

这是我的 packages.json 文件:

    {
  "name": "functions",
  "scripts": {
    "lint": "eslint --ext .js,.ts .",
    "build": "tsc",
    "serve": "npm run build && firebase emulators:start --only functions",
    "shell": "npm run build && firebase functions:shell",
    "start": "npm run shell",
    "deploy": "firebase deploy --only functions",
    "logs": "firebase functions:log"
  },
  "engines": {
    "node": "12"
  },
  "main": "lib/index.js",
  "dependencies": {
    "@google-cloud/tasks": "^2.3.6",
    "firebase-admin": "^9.6.0",
    "firebase-functions": "^3.15.3"
  },
  "devDependencies": {
    "@typescript-eslint/eslint-plugin": "^3.9.1",
    "@typescript-eslint/parser": "^3.8.0",
    "eslint": "^7.6.0",
    "eslint-config-google": "^0.14.0",
    "eslint-plugin-import": "^2.22.0",
    "firebase-functions-test": "^0.2.0",
    "typescript": "^3.8.0"
  },
  "private": true
}

标签: firebasetypesgoogle-cloud-functionsgoogle-cloud-tasks

解决方案



推荐阅读