Expo Typescript 不会构建项目,不会生成 outDir

Yun*_*Gun 5 javascript typescript react-native

我正在尝试构建我的打字稿项目。过去它已使用相同的设置成功构建,但现在即使没有显示任何错误,也无法构建。我跑:

npx tsc -p tsconfig.json
Run Code Online (Sandbox Code Playgroud)

我的在哪里tsconfig.json

{
  "compilerOptions": {
    "module": "ES6",
    "target": "ES6",
    "declaration": true,
    "outDir": "./lib",
    "strict": true,
    "jsx": "react-native",
    "skipLibCheck": true,
    "moduleResolution": "node",
    "allowSyntheticDefaultImports": true,
  },
  "include": [
    "src/**/*"
  ],
  "extends": "expo/tsconfig.base"
}

Run Code Online (Sandbox Code Playgroud)

lib根本不生成任何文件夹。

我的src文件夹包含几个打字稿文件,以及导出所需组件的索引。

我真的很困惑,因为我的项目结构和设置根本没有改变,但tsc不再生成outDir以前工作时的文件或任何文件。

ale*_*xor 5

Expo 仅用于typescript类型检查。捆绑文件是使用Metro bundler完成的。因此选项设置expo/tsconfig.base为。noEmittrue

如果您想js自己编译文件,则必须运行命令:

npx tsc -p tsconfig.json --noEmit false
Run Code Online (Sandbox Code Playgroud)

noEmitfalse您的tsconfig.json. 别忘了把它移回你体内tsconfig。或者下次构建时expo将运行metro捆绑和 tsc 类型检查以及tsc 编译。

作为最后的手段,你可以停止扩展expo/tsconfig.base你的tsconfig.json. 但只有当您真正知道自己在做什么时才可以这样做。