【问题标题】:Intellisense for module-alias Package用于模块别名包的 Intellisense
【发布时间】:2018-12-09 15:12:11
【问题描述】:

我正在使用这个 npm 模块 (module-alias) https://www.npmjs.com/package/module-alias 在我的 Node 项目中。

要使用此包,您必须在 package.json 文件中设置路径别名。

但是,使用这个包有一个缺点,即智能感知不再起作用。

我的问题是如何使用这些路径别名启用智能感知?

【问题讨论】:

  • 确实是年度问题。我希望路径别名在 node.js 中本地实现。它甚至可以从 webpack 中掌握关于路径解析的最佳方法。

标签: node.js npm intellisense drupal-path-aliases module-alias


【解决方案1】:

问题是你没有在你的 linter 的任何地方注册这些别名。我通常建议在这里使用 ESLint(即使您使用 TypeScript,因为 TSLint 将停止使用以支持 ESLint)。我的示例也将包括 TypeScript 结尾。如果你确实想让它只适用于 JavaScript,你可以跳过 eslint 中的 .ts .tsx 扩展)所以要让智能感知工作在

.eslintrc.js

settings: {
  "import/resolver": {
    alias : {
      map: [
        ["@","./src"]
      ],
      extensions: [".js", ".jsx", ".ts", ".tsx"],
    },
  }
},

请注意,在这种情况下,您将需要 import Plugin 用于 ESLint。如果您还没有安装它。

如果您使用的是 TypeScript,您还必须让编译器知道该别名。所以把这个添加到你的

tsconfig.json

"compilerOptions": {
  "baseUrl": ".",
  "paths": [
    "@/*" : [
      "src/*"
    ]
  ]
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-01-08
    • 1970-01-01
    • 2018-12-03
    • 1970-01-01
    • 1970-01-01
    • 2012-07-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多