我在我的 Node 项目中使用这个 npm 模块 ( module-alias
)
https://www.npmjs.com/package/module-alias 。
要使用此包,您必须在package.json
文件中设置路径别名。
然而,使用这个包有一个缺点,即智能感知不再起作用。
我的问题是如何使用这些路径别名启用智能感知?
我在我的 Node 项目中使用这个 npm 模块 ( module-alias
)
https://www.npmjs.com/package/module-alias 。
要使用此包,您必须在package.json
文件中设置路径别名。
然而,使用这个包有一个缺点,即智能感知不再起作用。
我的问题是如何使用这些路径别名启用智能感知?
问题是您没有在 linter 的任何地方注册这些别名。我通常建议在这里使用 ESLint(即使您使用 TypeScript,因为 TSLint 将停止使用以支持 ESLint)。我的示例也将包括 TypeScript 结尾。如果你肯定想让它只适用于 JavaScript,你可以跳过 eslint 中的 .ts .tsx 扩展)所以要让智能感知工作在
.eslintrc.js
settings: {
"import/resolver": {
alias : {
map: [
["@","./src"]
],
extensions: [".js", ".jsx", ".ts", ".tsx"],
},
}
},
请注意,在这种情况下,您将需要 ESLint 的导入插件。如果您还没有安装它。
如果您使用的是 TypeScript,您还必须让编译器知道该别名。所以把这个添加到你的
tsconfig.json
"compilerOptions": {
"baseUrl": ".",
"paths": [
"@/*" : [
"src/*"
]
]
}