我按照本教程使用webpack创建了Typescript项目.由于我有很多模块,我将index.d.ts添加到我的src/components文件夹中,我将导出所有模块:
export {Module1} from "./Module1";
export {Module2} from "./Module2";
export {Module3} from "./Module3";
Run Code Online (Sandbox Code Playgroud)
我将index.d.ts添加到tsconfig.json文件中:
"files": [
"./src/components/index.d.ts"
]
Run Code Online (Sandbox Code Playgroud)
然后,在index.tsx中,在src文件夹中,我导入:
import * as MyModule from "./components/";
Run Code Online (Sandbox Code Playgroud)
代码提示工作正常,所以我认为所有路径都可以.但是,当我运行webpack时,我收到此错误:
找不到模块:错误:无法解析目录'./components'
据我所知,webpack找不到这个index.d.ts文件.我尝试将d.ts添加到webpack.config.js扩展,如此处所述,但后来我收到了不同的错误消息.我错过了什么吗?
对我来说,我最终将其从 更改'./types'为'./types.d'。
所以类型导入看起来像这样,
import {
TSomeType,
ISomeInterface,
ESomeEnum
} from 'src/types/components/SomeComponent/types.d'
Run Code Online (Sandbox Code Playgroud)
代替,
import {
TSomeType,
ISomeInterface,
ESomeEnum
} from 'src/types/components/SomeComponent/types'
Run Code Online (Sandbox Code Playgroud)
摘自此评论:
我可以确认这个问题,@Draccoz @filipesilva。
当您将文件名从 .d.ts 更改为 .ts 时,不会发生这种情况。当您将导入更改为 import { Something } from 'yourlib'; 时,也不会发生这种情况。从 'yourlib.d' 导入 { Something } ;
我刚刚将一个工作项目从 webpack-starter 种子(TypeScript/Angular)移至 CLI 并收到此错误,因此我认为它与生成的 CLI 项目有关。
我正在使用 @angular/cli: 1.0.0-rc.2
我认为还值得注意的是 tsx 文件工作得很好。我不得不更改types为types.d仅适用于 ts 文件。
| 归档时间: |
|
| 查看次数: |
2265 次 |
| 最近记录: |