Итак, код прост:
calls.json
{"SERVER":{
"requests":{
"one":"1"
}
} }
file.ts
import json = require('../static/calls.json');
console.log(json.SERVER);
сгенерированный javascript корректен, и при запуске сервера node js консольный журнал json.SERVER печатает '{request: {one:' 1 '}}', как и должно быть.
Однако компилятор typescript (commonjs) каким-то образом не особенно похож на эту ситуацию и бросает: "Не удается найти модуль".. /static/calls.json ".
Конечно, я пробовал написать файл .d.ts, например:
declare module '../static/calls.json'{
var exp:any;
export = exp;
}
это, очевидно, бросает: "Объявление модуля Ambient не может указывать относительное имя модуля".
Я также пробовал разные варианты, например:
declare module 'calls.json' {
import * as json from '/private/static/calls.json';
export = json;
}
а затем требуется:
import json = require('calls.json');
Не работают нормально и имеют свои собственные ошибки компилятора:)
Я хочу использовать внешний .json файл, потому что я использую commonjs serverside и amd clientside, и мне нужен один файл для загрузки констант.