ESLint imports/modules 被视为未定义

ESLint imports/modules are treated as undefined

我正在将 Webpack 与 Polymer 结合使用,导入的组件如下所示:

import '@polymer/polymer/polymer-element.html';

class AppShell extends Polymer.Element {
  static get is() { return 'app-shell'; }
}

我在这里省略了其余的组件。导入在我的应用程序中按预期工作,但是当我是 运行 ESLint 时,我收到以下错误消息:

50:27  error  'Polymer' is not defined  no-undef

这是我的 package.json,我在其中定义我的 ESLint 设置。任何人都知道为什么 ESLint 没有正确获取导入?

{
  "name": "client-meeting-tracker",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "private": true,
  "scripts": {
    "start": "node utils/webserver.js",
    "lint": "eslint --ext .html,.js */**",
    "build": "node utils/build.js"
  },
  "dependencies": {
    "@startup-boilerplate/inkling": "*",
    "auth0-lock": "^10.7.3",
    "lodash": "^4.6.1",
    "moment": "^2.17.1"
  },
  "devDependencies": {
    "cross-env": "^1.0.6",
    "css-loader": "^0.23.1",
    "eslint": "^3.16.0",
    "eslint-plugin-html": "^2.0.1",
    "eslint-plugin-import": "^2.2.0",
    "file-loader": "^0.8.4",
    "fs-extra": "^0.30.0",
    "polymer-cli": "^0.17.0",
    "wc-loader": "*",
    "webpack": "2.2.0",
    "webpack-dev-server": "2.2.0"
  },
  "eslintConfig": {
    "env": {
      "browser": true,
      "commonjs": true,
      "es6": true
    },
    "extends": [
      "eslint:recommended"
    ],
    "parserOptions": {
      "sourceType": "module"
    },
    "rules": {
      "indent": [
        "error",
        "tab",
        {
          "SwitchCase": 1
        }
      ],
      "quotes": [
        "error",
        "single"
      ],
      "semi": [
        "error",
        "always"
      ]
    },
    "plugins": [
      "html"
    ]
  }
}

Polymer 被定义为全局的,所以我会 configure Polymer as a global 在你的 package.json:

"eslintConfig": {
  "globals": {
    "Polymer": true
  }
}