这是描述问题的简单再现:
npx react-native init MyApp --template react-native-template-typescript
创建了一个香草RN项目App.tsx
中,我添加了let foo: IThoughtTheWholePointOfATypeSafeLanguageWasNotToAllowShitLikeThis = "...seriously, wtf, why does this compile without an error!?";
yarn iOS
该应用程序运行正常,并且捆绑程序中没有错误。
问题:如何使它引发编译错误?
答案 0 :(得分:2)
您可以在编译器选项中使用--strict
。
这将:
启用所有严格类型检查选项。 启用--strict将启用--noImplicitAny,--noImplicitThis,--alwaysStrict,--strictBindCallApply,--strictNullChecks,--strictFunctionTypes和--strictPropertyInitialization。
来源:https://www.typescriptlang.org/docs/handbook/compiler-options.html
答案 1 :(得分:0)
想通了。
yarn tsc
进行编译并生成类型错误(如果存在)。如果您需要在调用预期命令之前因类型错误而失败,则可以将此命令作为package.json
文件中其他命令的一部分进行链接,方法是在现有命令之前加上yarn tsc &&
。
例如,我的package.json
中的命令之一如下:
"test": "yarn tsc && rm -f __tests__/**/*.js && jest --coverage"
rm
位可能对您有所帮助,因为我注意到运行tsc
会生成所有.js
文件的.ts
版本。