对于像./src/components/A.vue
. 这比较棘手,@/components/A.vue
因为您需要解析@
别名。
以下解决方案适用于两者。
.vue
要在路径中强制扩展,请执行以下操作:
1.安装eslint-plugin-import
,通过 lint 导入路径扩展 eslint 的功能。还安装一个自定义路径解析器 -eslint-import-resolver-alias
为它:
npm install eslint-plugin-import eslint-import-resolver-alias --save-dev
2.然后,在您的ESLint
配置文件(.eslintrc.js
或等中的eslintConfig
字段package.json
)中,添加以下内容:
// I'm using .eslintrc.js
module.exports = {
//...unimportant properties like root, env, extends, parserOptions etc
plugins: ["import"],
settings: {
"import/resolver": {
alias: {
map: [
["@", "./src"], //default @ -> ./src alias in Vue, it exists even if vue.config.js is not present
/*
*... add your own webpack aliases if you have them in vue.config.js/other webpack config file
* if you forget to add them, eslint-plugin-import will not throw linting error in .vue imports that contain the webpack alias you forgot to add
*/
],
extensions: [".vue", ".json", ".js"]
}
}
}
}
这是一个带有工作演示的存储库,该演示正确地在导入中实现强制 .vue 路径。
以及来自 VSCode 的屏幕截图和来自npm run lint
: