声明模块导致棉绒错误“意外令牌,预期为“ {””

时间:2019-04-21 10:32:31

标签: typescript

我创建了文件omnivore.d.ts来获取打字稿,以忽略该库没有可用的类型。在文件中,我一行

declare module '@mapbox/leaflet-omnivore'

当我在项目上运行vue-cli-service lint时,它会在行上引发错误

error: Parsing error: Unexpected token, expected "{"

> 1 | declare module '@mapbox/leaflet-omnivore'
    |                                          ^ 

我进行了一些搜索,并且在字符串后面看到了其他帖子,包括一个对象,但是在这种情况下我看不到要添加的内容。据我所知,此代码在功能上没有任何问题,因为该页面似乎已加载并可以正常工作,但由于此皮棉错误而导致我的CI失败。

2 个答案:

答案 0 :(得分:1)

当我从lint-staged开始时,会发生此错误, 为什么我只指出扩展名*. {js, jsx, ts, tsx}的结尾, 强制皮棉检查包含它们的所有文件。

这对我有用: 将!运算符添加到您要忽略的扩展名中:

正在工作!

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

答案 1 :(得分:0)

我将其更改为

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

这是eslint建议使用的块应该为空的情况。