打字稿“无法编译”错误作为警告

时间:2019-11-24 03:29:18

标签: reactjs typescript create-react-app

我已经使用npx create-react-app my-app --typescript创建了一个应用程序,我希望对其进行配置,以便即使打字稿错误也可以继续编译我的应用程序,以便在准备就绪时可以返回它们。

对此,我看不到任何compilerOptions。可能吗?

1 个答案:

答案 0 :(得分:1)

var admin = require("firebase-admin");
var serviceAccount = require("/<my-folder-path>/<project-name>.json");
admin.initializeApp({
    credential: admin.credential.cert(serviceAccount),
    databaseURL: "https://<project-name>.firebaseio.com"
});
let db = admin.firestore();
let cityRef = db.collection('cities').doc('SF');
let getDoc = cityRef.get()
    .then(doc => {
        if (!doc.exists) {
            console.log('No such document!');
        } else {
            console.log('Document data:', doc.data());
        }
    }).then(obj => {
        let citiesRef = db.collection('cities');
        let setSf = citiesRef.doc('SF').set({
            name: 'San Francisco', state: 'CA', country: 'USA',
            capital: false, population: 860000,
            regions: ['west_coast', 'norcal']
        }).then(fin => {
            console.log("Finished");
        }).catch(err => {
            console.log('Error in set', err);
        });
    })
    .catch(err => {
        console.log('Error getting document', err);
    });

诚然是Typescript菜鸟,但这使我花了很长时间才弄清楚。 CRA的默认值严格为true,这将导致编译失败,并出现各种错误。这是非常隐式的,看起来将其设置为true还会做很多其他事情:

{ "compilerOptions": { ... strict: false } )

还有其他错误,我仍然无法编译,即:

enables --noImplicitAny, --noImplicitThis, --alwaysStrict, --strictBindCallApply, --strictNullChecks, --strictFunctionTypes and --strictPropertyInitialization.

我可以毫不费力地解决它,也许我没有按原本打算的方式使用Typescript,但我所希望的只是在IDE中查看警告,以便在准备就绪时可以返回警告之后我至少有一些概念证明。让我有些疯狂,即使我真的很喜欢并且已经从使用它中受益,我仍在考虑不使用TS重新启动。

我认为tsconfig docs上应该有一些内容,至少简要概述了此Property 'property' does not exist on type 'unknown'.选项的含义,但是我偏离了话题。