как получить intellisense для методов модулей, которые импортируются из псевдонима в .vue - PullRequest
0 голосов
/ 22 октября 2018

В .vue и .js я могу использовать интеллигентность vscode при разработке.Но я обнаружил, что это больше не работает, когда я использую псевдоним.Поэтому я некоторое время искал в блогах, нашел решение, которое заключается в настройке jsconfig.json, как показано ниже.

{
  "compilerOptions": {
    "target": "ES6",
    "module": "commonjs",
    "allowSyntheticDefaultImports": true,
    "baseUrl": "./",
    "paths": {
      "@/*": [
        "src/*"
      ]
    }
  }
}

, он работал в файле .js, но не работал в.Vue файл.Кто-нибудь знает, как это решить?

Работает ли в .js

enter image description here

Неработа в .вю enter image description here

1 Ответ

0 голосов
/ 22 октября 2018

В vue-cli псевдоним определяется в webpack-config (поскольку @ vue / cli использует webpack под капотом).Таким образом, вместо jsconfig.json (удалите! Просто сделайте это!) , я бы:

1: Установите распознаватель веб-пакетов для eslint:

npm i eslint-import-resolver-webpack

2: Ссылка на плагин из вашего .eslintrc.js

"settings": {
  "import/resolver": "webpack"
},

Готово!

Это мой полный .eslintrc.js, просто чтобы быть тщательным:

module.exports = {
  "settings": {
    "import/resolver": "webpack"
  },
  parserOptions: {
    parser: "babel-eslint"
  },
  extends: [
    "eslint:recommended",
    "plugin:vue/recommended"
  ],
  "env": {
    "browser": true,
    "node": true
  },
  rules: {}
}

Если возникнут проблемыостается я бы проверял eslint-настройки в vscode settings.json:

"eslint.enable": true,
"eslint.provideLintTask": true,
"eslint.workingDirectories": ["src"],
"eslint.validate": ["javascript","javascriptreact","vue"],
...