Jul*_*lhé 7 typescript typescript-typings yarnpkg yarn-workspaces
我使用yarn工作区,并具有以下软件包:
我希望能够以相同的方式从x-core子目录导入符号import map from 'lodash/map',例如:
import { fn } from '@mycompany/x-core/test';
Run Code Online (Sandbox Code Playgroud)
但是我收到以下错误:
tsc -b packages/x-core packages/x-cli
packages/x-cli/src/main.ts:1:20 - error TS2307: Cannot find module '@mycompany/x-core/test'.
1 import { fn } from "@mycompany/x-core/test";
~~~~~~~~~~~~~~~~~~~~~~~~
error Command failed with exit code 1.
Run Code Online (Sandbox Code Playgroud)
但是,如果将其导出到库的根目录中,则可以使用:
import { otherFn } from '@mycompany/x-core';
Run Code Online (Sandbox Code Playgroud)
我在GitHub上做了一个小项目来展示我的设置,基于lerna-yarn-workspaces-example:https : //github.com/julienfouilhe/example-subdirectory-workspace-typescript-import
有没有办法做到这一点,我找不到任何有效的方法。我对模块分辨率了解不多,所以我无法确切指出问题所在!
更新:使用 Nodejs 14,您可以在 package.json 中指定子路径导出。
https://nodejs.org/api/esm.html#esm_subpath_exports
我还没有亲自测试过,但看起来可以通过使用来解决这个问题
"exports": {
".": "./lib"
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
305 次 |
| 最近记录: |