问题标签 [tsconfig-paths]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
typescript - 使用 * glob 理解 TypeScript 中的“baseUrl”和“路径”
我有一个使用纱线工作区和以下文件夹结构创建的 monorepo:
以及以下设置tsconfig.json
:
在@project/bar
工作区中,我想从以下位置导入模块@project/foo
:
但我收到以下错误:
找不到模块“@project/foo”或其对应的类型声明。ts(2307)
如果我*
从“路径”对象的键和值中删除符号,代码就会编译。这是为什么?如何保持*
全局模式并对本地模块进行非相对导入?
node.js - 无法使用模块解析运行已编译的打字稿编
我正在尝试编译以下打字稿文件
文件结构为:
在 tsconfig.json 我映射lib/magic
到正确的文件如下
正是该paths
部分将导入映射lib/magic
到./src/lib/a/magic.ts
.
所以,我可以编译如下
它产生输出dist
。但是,当我尝试运行它时
这是有道理的,因为在 dist 中没有lib/magic
. 任何建议如何解决这个问题?
typescript - 如何让 Typescript 脚本使用 tsconfig 中定义的路径?
在我的 NodeJS/Typescript 项目中,我创建了一个脚本database-init.script.ts
,我运行该脚本以使用示例数据初始化数据库。
我的 package.json 看起来像这样:
问题是脚本导入了一些本身使用 tsconfigpaths
快捷方式的文件。例如一些文件有
我的脚本失败了,因为它无法识别这些。它给了我
如何在不编译整个项目的情况下获取脚本来识别 tsconfig 定义的路径?
angular - tsconfig 中使用 TypeScript 路径映射的短导入
我正在尝试为我的 Angular 模块创建简短的导入。
以下是我在 tsconfig.base.json 文件中修改的内容。
模块路径:projects/asfc-shared/src/public_api.ts
如果我导入,在我的组件中,SharedGlobalService
我收到以下错误。
我在这里做错了什么?请帮忙。
更新:文件夹结构
更新
更新 baseUrl 后,出现以下错误
node.js - tsconfig 中的绝对路径不起作用
我看到了一些关于这个问题的问题,它们都不起作用我有一个 nodejs 项目和 Typescript。我不喜欢使用相对路径。在 tsconfig 中设置路径时出现以下错误:
找不到模块'@app/controllers/main'
这是我的项目的结构:
配置:
我的问题在哪里?
提前致谢。
reactjs - 使用 create-react-app 创建自定义绝对路径
我使用create-react-app
version创建了一个带有 typescript 的 React 项目3.4.1
。我试图避免在我的项目中使用相对路径。这是我的项目树的一部分:
我基本上想要的是能够做类似的事情import '@components/c'
。我试图将此部分添加到我的tsconfig.json
文件中:
但是每次我使用yarn start
我的 tsconfig 启动我的应用程序时都会删除我的这部分代码(除了我的“baseUrl”部分之外的所有内容)。据我所知,自第 3 版以来,通过启用属性来影响导入的根目录,部分react-create-app
解决了这个问题。但是我在任何地方都找不到从 tsconfig目录设置绝对路径的可行解决方案。部分解决方案对我不起作用,因为我可能要从公共目录导入东西。baseUrl
path
我确实从去年开始尝试过这个解决方案,但它对我不起作用。有没有人设法让这个或任何其他解决方案工作?
理想情况下,该解决方案将使我仍然可以使用 create-react-app 而不是使用其他包,但当然任何解决方案都可以。
node.js - 如何解决相对路径地狱(带打字稿的节点)
我正在使用节点、打字稿和其他包开发 CLI。这个想法很简单,CLI 为您的节点项目(javascript 或 typescript)提供了一个初始结构
好吧,在测试的时候,我发现了一个我好几天都无法解决的问题。初始结构为:
typescript services 文件扩展了一个抽象服务(这个在 中./src/global/services/abstract.service.ts
)。每个组件都将位于./src/api
目录中并具有其各自的文件夹(如用户组件)。在 users 组件中导入抽象类的相对路径是../../global/services/abstract.service
但是您可以在不同的目录中创建组件,因此之前的相对路径不起作用。为了解决这个问题,我决定使用像 webpack 这样的路由配置。所以我不想使用以前的相对路径,而是想使用这样的东西@global/services/abstract.service
如果节点项目使用带有 babel 的 javascript,我实现了这一点:
- @babel/polyfill
- @babel/cli
- @babel/核心
- @babel/节点
- @babel/预设节点
- babel-plugin-module-resolver
但是我没有实现那个什么时候是一个打字稿项目。具有“tsconfig.json
路径”选项,这在开发中有效,但是当我将 typescript 编译为 javascript 时,这不起作用。我尝试了很多方法来解决这个问题,但一切都失败了。这些是我到目前为止使用的软件包:
- 链接模块别名 ()
- 带有 tsconfig-path 的 ts-node
- 打字稿
- @zerollup/ts-transform-paths
第二个工作正常,但我必须为我在 ts 文件中所做的每个更改重新启动,也许我没有正确配置脚本package.json
,因为 tsc-watch 不起作用)。我看到的链接:
请,如果有人知道如何解决相对路径地狱,如果您告诉我如何解决,我将不胜感激,并提供示例或其他帮助我的东西
reactjs - compilerOptions.paths 不得设置(不支持别名导入)
我正在尝试在 tsconfig.json 中映射路径以摆脱相对路径的地狱。我的React App 基于 Create-React-App。我尝试了这个SO 线程并在我的 tsconfig.json 中添加了路径。我的 tsconfig.json 是
当我在 VS Code 中编译我的项目时,它会从 tsconfig.json 中删除路径条目,并显示以下消息。为什么我的基于react-scripts的 React 项目不支持别名导入?
angular - VSCode / tslint 不解析 tsconfig.json 中的路径
vscode 不知何故不尊重我的 tsconfig.json (几周以来,情况有所不同。无论是我的错误还是 vscode 更新......)
分别在“问题”选项卡中:
找不到模块“@foo-animation/animation-micro”或其相应的类型声明。ts(2307)
✓常规基本路径(如@angular/core
)已正确解决,只是我的“自定义”路径是问题......
✓编译、构建、运行......所有工作都像魅力一样。所以我相信从角度/打字稿的角度来看一切都很好。(另外,我使用 IntelliJ 的开发人员没有任何问题……)所以它似乎可以归结为“告诉 vscode”……:-/
我tsconfig.json
的位于项目的根文件夹中。唯一的事情是,我使用了另一个tsconfig.app.json
,其中包括上面的tsconfig.json
。
那么有没有办法告诉 vscode 在哪里寻找它的 tsconfig.json (以鼓励解析这些路径)?
这个 SO question和这个 VSCode github 问题可能是相关的,但我仍然不知道该怎么做。
typescript - 设置 tsconfig.json 目标会破坏路径
这是我的进口
这些设置将正确导入,但缺少现代 TS 功能
这些设置根本不导入
如果我测试通过,看起来路径对 ES5 和 ES6 及更高版本都按预期工作,它们不起作用,也不会给出任何有意义的错误。
这是怎么回事?为什么路径在新目标中的工作方式不同?发生了什么变化,我应该怎么做?