2016-10-11 11 views
1

В файле с именем «некоторые-file.ts» Я хочу, чтобы это сделать:Добавление свойств вложенного интерфейса в node.js

global.someProp = someVar; 

в то время как global предопределенный объект типа NodeJS.Global который определен в node.d.ts.

Как я могу сделать этот интерфейс частичным?

Я пробовал все следующие без толка:

interface Global { 
     someProp: string; 
    } 

global.someProp = someVar; 



interface NodeJS.Global { 
     someProp: string; 
    } 

global.someProp = someVar; 



namespace NodeJS{ 
    interface Global { 
     someProp: string; 
    } 
} 

global.someProp = someVar; 

я получаю:

TS339: свойство 'someProp' не существует на типе 'Global'

Как это исправить?

+0

Возможный дубликат [Как использовать глобальную переменную в Node.js?] (Http://stackoverflow.com/questions/10987444/how-to- use-global-variable-in-node-js) –

+0

@SteevePitis no! Это совершенно другой вопрос. – Alon

+0

Тогда попробуйте объяснить свою цель иначе, потому что я никогда не видел их в js 'namespace' &' interface' –

ответ

1

Я решил. Я должен был использовать ключевое слово «объявлять» следующим образом:

declare namespace NodeJS{ 
    interface Global { 
     base_dir: string; 
    } 
}