Typescript将json编译成变量

时间:2013-09-10 11:26:41

标签: javascript json typescript

在本地Webapp中,XHR请求不允许使用file://协议,是否可以将json文件预编译为变量?

Typescript PseudoCode

[JSON("Filename,json"), options]
public myFunc() : void {
     //i can use "options" as a variable here
    console.log(options);
}

预期的Javascript输出

var options = "{jsonfile content}";
function myFunc() {
    console.log(options);
}

是否有任何库,管理[JSON(“Filename,json”),options]这是为了在编译成javascript时将Filename.json的内容加载到名为options的变量中?

恢复

  • 本地应用程序(文件://)
  • 不允许使用Ajax(即使没有jsonp作为file://完全不被chrome拒绝)。
  • 将本地json文件加载到javascript变量的预编译器指令
  • 还有其他解决办法吗?

1 个答案:

答案 0 :(得分:0)

TypeScript没有属性。但是你可以简单地执行以下操作:

// file a 
var json = {
    "foo" : "foo's content",
    "bar" : ["some","array"]
}
var jsonContent = JSON.stringify(json);

// file b 
///<reference path="./a.ts"/>
// I think you probably want json not jsonContent
var options = jsonContent; 
function myFunc() {
    console.log(options);
}

然后使用--out编译器标志编译文件b以获取一个合并的javascript文件。