tsc抛出“ TS2307:找不到本地文件的模块”

丹尼尔·佩雷斯·阿尔瓦雷斯:

我有一个使用TypeScript的简单示例项目:https : //github.com/unindented/ts-webpack-example

运行tsc -p .tsc版本1.8.10)会引发以下情况:

app/index.ts(1,21): error TS2307: Cannot find module 'components/counter'.
components/button/index.ts(2,22): error TS2307: Cannot find module 'shared/backbone_base_view'.
components/button/index.ts(3,25): error TS2307: Cannot find module 'shared/backbone_with_default_render'.
components/counter/index.ts(2,22): error TS2307: Cannot find module 'shared/backbone_base_view'.
components/counter/index.ts(3,25): error TS2307: Cannot find module 'shared/backbone_with_default_render'.
components/counter/index.ts(4,27): error TS2307: Cannot find module 'shared/backbone_with_subviews'.
components/counter/index.ts(5,20): error TS2307: Cannot find module 'components/button'.

它抱怨所有本地文件的导入,如下所示:

import Counter from 'components/counter';

如果我将其更改为相对路径,则可以使用,但我不想这样做,因为在移动文件时,这会使我的生活更加困难:

import Counter from '../components/counter';

vscode代码库不使用相对路径,但一切工作正常他们,所以我必须失去在我的项目的东西:https://github.com/Microsoft/vscode/blob/0e81224179fbb8f6fda18ca7362d8500a263cfef/src/vs/languages/typescript/common /typescript.ts#L7-L14

您可以查看我的GitHub存储库,但是如果有帮助的话,这里是tsconfig.json我正在使用文件:

{
  "compilerOptions": {
    "target": "es5",
    "module": "commonjs",
    "noImplicitAny": false,
    "removeComments": false,
    "preserveConstEnums": true,
    "sourceMap": true,
    "outDir": "dist"
  },
  "exclude": [
    "dist",
    "node_modules"
  ]
}

有趣的是,通过webpack使用ts-loader可以很好地构建项目,所以我猜这只是一个配置问题...

丹尼尔·佩雷斯·阿尔瓦雷斯:

@vladima 在GitHub上回复了此问题

编译器解析模块的方式由moduleResolution选项控制,该选项可以是nodeclassic(可以在此处找到更多详细信息和差异)。如果此设置被忽略,编译器将是这个设置node,如果模块commonjsclassic-否则。在您的情况下,如果要classiccommonjs模块一起使用模块解析策略,则需要使用

{
    "compilerOptions": {
        "moduleResolution": "node"
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

TS2307:找不到模块“离子/离子”

从TypeScript tsc忽略/忽略TS2307错误

Typescript编译器错误TS2307:找不到模块'jquery'

打字稿找不到本地es6模块; 错误TS2307:找不到模块

角度2:错误TS2307:找不到模块'socket.io-client'

错误TS2307:找不到模块“反应”

Typescript React TS2307找不到模块json

TS2307内部版本:找不到模块“ lodash”

TS2307:找不到模块“表达”

TypeScript + moment.js:错误TS2307:找不到模块'moment'

错误TS2307:找不到HttpClientModule的模块'@ angular / common / http'

错误TS2307:找不到模块'@ angular / core'

错误TS2307:在moment-date-adapter.d.ts中找不到模块“ moment”

错误TS2307:找不到模块'@ microsoft / sp-webpart-base'

角度-错误TS2307:找不到模块'ngx-bootstrap / modal'

NRWL NX导入库错误TS2307:找不到模块'@ eduboard / interfaces'

运行时错误:错误TS2307:找不到模块'传单'

在React中找不到模块TS2307

index.d.ts错误TS2307:找不到模块我自己的模块

错误:找不到模块“ nexmo”和错误TS2307:找不到模块nexmo

TS2307:找不到模块'〜express / lib / express'

错误TS2307:找不到模块'./product'

Angular2 TypeScript - 错误 TS2307:找不到模块“angular2/forms”

TS2307:找不到模块“角度”

TS2307:找不到模块(所有模块)- 移动文件夹后

错误 TS2307:找不到模块“fs”或其相应的类型声明

Typescript React / NestJS 应用程序失败 @Heroku 构建-“错误 TS2307:找不到模块”

TS2307 错误:找不到模块“../constants”或其相应的类型声明

错误 TS2307:找不到模块“标记”或其相应的类型声明