代码之家  ›  专栏  ›  技术社区  ›  Qwertie

声明模块导致lint错误“意外标记,应为”{”

  •  0
  • Qwertie  · 技术社区  · 5 年前

    我创建了这个文件 omnivore.d.ts 使typescript忽略此库没有可用的类型。在文件中我有一行

    declare module '@mapbox/leaflet-omnivore'
    

    当我跑的时候 vue-cli-service lint

    error: Parsing error: Unexpected token, expected "{"
    
    > 1 | declare module '@mapbox/leaflet-omnivore'
        |                                          ^ 
    

    我做了一些搜索,我看到了其他帖子,包括字符串后面的一个对象,但我看不到在这种情况下应该添加什么。据我所知,这段代码在功能上没有什么问题,因为页面似乎加载和工作正常,但由于这个lint错误,它使我的CI失败。

    0 回复  |  直到 5 年前
        1
  •  1
  •   Qwertie    5 年前

    我把它改成了

    declare module '@mapbox/leaflet-omnivore' {/* empty */}
    

    这正是eslint对本应为空的块的建议。

        2
  •  1
  •   MarcosSantosDev    4 年前

    此错误在我开始时发生 lint-staged , *. {js, jsx, ts, tsx} , 强制lint检查包含它们的所有文件。

    这对我很有用: 添加 !

    它起作用了!

    {
     "husky": {
        "hooks": {
          "pre-commit": "lint-staged"
        }
      },
      "lint-staged": {
        "*.{js,jsx,ts,tsx}, !*.d.{ts}": [
          "yarn run lint"
        ]
      }
    }