javascript - TypeScript - 从自定义位置导入模块(非相对)
问题描述
假设我有以下目录结构:
- functions
- functionOne
- tsconfig.json
- index.ts
- package.json
- node_modules
- layers
- layerOne
- tsonfig.json
- index.ts
- index.js (compiled index.ts)
- package.json
- node_modules
在functions/functionOne/index.ts
我试图这样导入layerOne
:
import JenkinsCredentials from '@prefix/module-name';
现在,我知道 TypeScript 会像“到底是什么@prefix/module-name
。所以,在里面tsconfig.json
我放了以下内容:
"baseUrl": ".",
"paths": {
"@prefix/module-name": ["../../layers/layerOne"]
}
但是,这似乎不起作用。我收到以下错误:
Cannot find module '@prefix/module-name' or its corresponding type declarations.ts(2307)
我认为设置baseURL
andpaths
会对此有所帮助吗?我在做什么错/我需要做什么才能让 TypeScript 将自定义模块名称映射@prefix/module-name
到目录"../../layers/layerOne"
注意:自定义名称的原因是 Lambda 层以这种方式引用。
解决方案
paths
关键字被认为.
是文件的路径tsconfig.json
。
您需要设置path
为:
"baseUrl": ".",
"paths": {
"@prefix/module-name": ["./layers/layerOne"]
}
所以不管你import JenkinsCredentials from '@prefix/module-name';
从哪里调用,它总是会产生同一个文件。
推荐阅读
- ios - 如何检测何时选择了 TextView 但在它成为第一响应者之前?
- c# - 代码中没有错误,但尝试更新时表中没有发生变化
- javascript - 当 useState 更新时,map 循环在 useState 对象内部的数组中不起作用。反应js
- python - 我收到错误:django.db.utils.IntegrityError: NOT NULL constraint failed: store_customer.email
- c++ - 在命令行上生成损坏的名称
- python - 如何调用熊猫数据框应用函数返回两个变量
- javascript - SVG 文件未加载到导航栏 - 不确定原因是什么。(HTML、CSS、BOOTSTRAP、JS、SVG)
- jmeter - 在 JMeter 中随机运行样本
- c# - 尝试在winforms中制作笔记应用程序
- python - 如何使用python按类型终止进程win32mutex