javascript - 解决绝对导入冲突

标签 javascript node.js typescript

假设我有一个名为“util.ts”的本地文件。启用绝对导入后,我可以在我的应用程序中的任何地方调用。

import * as util from 'util'

现在假设在 node_modules 中有一个名为 util 的包。那将被导入。无论如何要指定我明确想要我的模块而不是 Node 模块中的模块?

最佳答案

引用:https://github.com/facebook/create-react-app/issues/7795

尝试

{
  "compilerOptions":  {
    ...    
    "baseUrl": "."
  }
}

并在导入前加上“src/”前缀,如“src/util”。

我遇到了一些确切的问题,想要使用我的 src 目录中名为“util.ts”的文件。然而,事实证明,在名称冲突的情况下, Node 模块总是获胜。上面的 github 问题链接引用了一种可能的解决方案,将您的 tsconfig baseUrl 更改为“.”。对于你的绝对导入,在它们前面加上'src',所以'src/util'。

我怀疑您可以使用 tsconfig 'paths' 来为事物添加别名,或者避免在其他情况下必须键入 src,但我没有探索过这条路线,因为我实际上可以在我的绝对导入前加上 'src' 前缀。

路径引用:https://www.typescriptlang.org/tsconfig#paths

关于javascript - 解决绝对导入冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64016057/

相关文章:

javascript - "Unknown name "": must be root element."错误与 Node.js 谷歌电子表格

javascript - 'NextHandleFunction' 类型的参数不可分配给 'PathParams' 类型的参数

typescript - 如何枚举同步可观察对象?

javascript - 如何调试 JS 代码中的 "not found"消息?

javascript - 如何在 Chrome 中控制 Canvas fillText() 的字体字距?

javascript - R 与 Node JS 的集成

angular - 如何在 Angular 应用程序中为 PDFMake 导入自定义字体?

javascript - TideSDK强制下载文件

Node.js 服务器 : connect to redis database once? 还是在每次请求时?

node.js - 后端和前端在不同端口上运行,CORS 错误