我在 Vite.js 上使用 Vue 3 和 Eslint + Airbnb 配置。Airbnb 配置有一个规则eslint(import/no-unresolved),这很好,但 Eslint 不知道如何解析别名路径。
我想对路径 \xe2\x80\x94 使用别名,例如:\nimport TableComponent from \'@/components/table/TableComponent.vue\'\xcb\x99
环境是纯 JavaScript 的。
\n我设法设置了我的vite.config.js应用程序可以解析这样的路径:
import path from \'path\';\nimport { defineConfig } from \'vite\';\n\n// https://vitejs.dev/config/\nexport default defineConfig({\n plugins: [vue()],\n resolve: {\n alias: [{\n find: "@", replacement: path.resolve(__dirname, \'src\')\n },],\n },\n});\nRun Code Online (Sandbox Code Playgroud)\nVue 应用程序的工作方式如下并正确解析导入路径,但 Eslint 不断报告错误:Unable to resolve path to module eslint(import/no-unresolved)
我如何以及在哪里可以告诉 Eslint 如何解析别名?
\n我已经尝试过:\ninstall eslint-plugin-import eslint-import-resolver-alias --save-dev
我正在尝试做一些非常类似于文档中的jquery路径示例的东西,但TS不断抛出TS2307(webpack编译正常):
"compilerOptions": {
"baseUrl": "./src",
"paths": {
"@client": [
"client",
],
"@suir": [
"../node_modules/semantic-ui-react/dist/commonjs", // not working
],
},
// …
},
"include": [
"*.d.ts",
"client/**/*",
"../node_modules/semantic-ui-react", // is this necessary?
],
Run Code Online (Sandbox Code Playgroud)
更改baseUrl到"."和更新includes,并paths没有什么区别(@client继续工作,@suir继续到不行).
更改"@suir"到"@suir/"或"@suir/*"(和附加/*到它的价值)也没有什么区别.
我这样做的原因是为了简化我的导入(我明确指定它们而不是从捆绑中提取命名导出以减少我的供应商包大小 - 节省大约1 MB):
import Button from 'semantic-ui-react/dist/commonjs/elements/Button'; // works
import Button from '@suir/elements/Button'; // not found
Run Code Online (Sandbox Code Playgroud)