ESLint导入/模块被视为未定义

时间:2017-02-21 11:33:09

标签: javascript polymer eslint

我正在使用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"
    ]
  }
}

1 个答案:

答案 0 :(得分:1)

Polymer被定义为全局,因此我会package.json中的configure Polymer as a global

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