打字稿错误:“全局”类型上不存在属性“ localStorage”

时间:2019-01-25 17:51:16

标签: typescript nativescript

打字稿呆子我有这个代码:

import * as appSettings from 'application-settings';

try {
    //  shim the 'localStorage' API with application settings module 
    global.localStorage = {
        getItem(key: string) {
            return appSettings.getString(key);
        },
        setItem(key: string, value: string) {
            return appSettings.setString(key, value); 
        }
    }

    application.start({ moduleName: 'main-page' });
}
catch (err) {
    console.log(err);
}

…VScode给我错误[ts] Property 'localStorage' does not exist on type 'Global'. [2339],有关如何解决此问题的想法?

这是一个Nativescript应用程序。作为参考,这里是整个文件/应用程序:https://github.com/burkeholland/nativescript-todo/blob/master/app/app.ts

1 个答案:

答案 0 :(得分:1)

这是TypeScript所期望的,chart.on('preRedraw', function(chart) { chart.elasticX(false); }); 类型不包含global,因此它只是试图让您知道它是无效的属性。

您可以通过将其强制转换为任何错误来克服错误。

localStorage

或者您甚至可以从通常位于项目根目录中的(<any>global).localStorage = { getItem(key: string) { return appSettings.getString(key); }, setItem(key: string, value: string) { return appSettings.setString(key, value); } } 扩展global类型。如果不存在,可以创建一个。

references.d.ts