【发布时间】:2017-12-17 18:44:34
【问题描述】:
如果 TypeScript+Webpack 在符号链接文件夹中,我遇到了无法正确解析依赖项的问题。我有这样的文件结构:
- main
-- index.ts
-- package.json
-- webpack.config.js
- shared-lib
-- services
--- session.ts
-- package.json
在main 中存在shared-lib@file:../shared-lib 的依赖关系,结果npm 会在node_modules 中为其创建符号链接。
在shared-lib 中,我对lodash-es 有依赖关系,在main 中也有它,但是项目中应该只有一个lodash-es,我想保留在main 中,结果当我尝试构建项目时,我得到类似:
ERROR in [at-loader] ../shared-lib/index.ts:1:24
TS2307: Cannot find module 'lodash-es/capitalize'.
Webpack 也抱怨过这个问题,但如果在 resolve.modules 中提供到 node_modules 的绝对路径,则可以解决此问题。现在看起来是唯一一个不知道在哪里寻找依赖项的 TypeScript。我查看了 TypeScript 配置文档,但找不到任何有用的信息,如果文件位于主文件夹之外,是否有任何方法可以提示 TypeScript 在哪里查找依赖项?我尝试使用rootDirs,但似乎不适合我的情况。
【问题讨论】:
标签: typescript npm webpack