首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将TypeScript中的别名路径传递到JavaScript?

如何将TypeScript中的别名路径传递到JavaScript?
EN

Stack Overflow用户
提问于 2022-07-29 10:02:00
回答 1查看 269关注 0票数 4

我有一个TypeScript项目,我试图把它转换成可执行的JavaScript,它使用路径别名。--这是我正在处理的NPM包所必需的.

例如,通过从我的lib目录导入一个方法,而不通过相对路径引用它:

代码语言:javascript
复制
import { hexify } from '@lib/utils/conversion';

通常,我会使用tsconfig-paths注册路径别名,当我从入口点使用ts-node-dev --files -r tsconfig-paths/register ./src/index.ts之类的命令运行应用程序时,或者在生产模式中使用node -r ts-node/register/transpile-only -r tsconfig-paths/register ./dist/index.js。但是在这种情况下,,我想成功地将其转换到JavaScript,这样编译器就可以自动地将路径别名转换为正确的相对路径,因此不需要使用ts-nodetsconfig-paths来成功运行JavaScript代码。

对于其他上下文,我的tsconfig.json文件如下所示:

代码语言:javascript
复制
{
  "ts-node": {
    "files": true
  },
  "compilerOptions": {
    "target": "es5",
    "module": "commonjs",
    "strict": true,
    "rootDir": "src",
    "outDir": "dist",
    "moduleResolution": "node",
    "esModuleInterop": true,
    "skipLibCheck": true,
    "forceConsistentCasingInFileNames": true,
    "noImplicitReturns": true,
    "strictFunctionTypes": true,
    "strictPropertyInitialization": false,
    "resolveJsonModule": true,
    "baseUrl": "./",
    "paths": {
      "@src/*": ["src/*"],
      "@middleware/*": ["src/middleware/*"],
      "@services/*": ["src/services/*"],
      "@routes/*": ["src/routes/*"],
      "@controllers/*": ["src/controllers/*"],
      "@exchanges/*": ["src/api/exchanges/*"],
      "@utils/*": ["src/utils/*"],
      "@api/*": ["src/api/*"],
      "@lib/*": ["src/lib/*"],
      "@app": ["src/app/index.ts"],
      "@singleton/*": ["src/singleton/*"],
      "@constants/*": ["src/constants/*"]
    }
  },
  "exclude": ["junk"]
}

但是,在构建此项目时,我的NPM包无法理解我的路径别名,对于此,我可以做些什么来使我的NPM包正常工作吗?还是应该使用别名更改所有TypeScript导入,以替代使用下面示例中的相对路径:

代码语言:javascript
复制
import { hexify } from '../lib/utils/conversion.ts'
EN

回答 1

Stack Overflow用户

发布于 2022-11-29 21:01:11

目前,无法将其作为tsc构建的一部分来完成。

有许多模块将为您完成任务,例如ts-alias。事实上,在npm上搜索“类型记录路径别名”提供了66个这样的模块:https://www.npmjs.com/search?q=typescript%20path%20alias

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73164926

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档