Javascript Typescript将json预编译为变量

Javascript Typescript将json预编译为变量,javascript,json,typescript,Javascript,Json,Typescript,在XHR请求不允许使用file://protocol的本地Webapp中,是否可以将json文件预编译为变量 打字伪码 [JSON("Filename,json"), options] public myFunc() : void { //i can use "options" as a variable here console.log(options); } 预期的Javascript输出 var options = "{jsonfile content}"; funct

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

打字伪码

[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(例如,chrome完全不允许使用jsonp作为文件:/)
  • 将本地json文件加载到javascript变量的预编译器指令
  • 还有其他可能的解决方案吗

类型脚本没有属性。但是,您可以简单地执行以下操作:

// 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);
}
//文件a
var json={
“foo”:“foo的内容”,
“条”:[“一些”,“数组”]
}
var jsonContent=JSON.stringify(JSON);
//文件b
///
//我想你可能想要json而不是jsonContent
var options=jsonContent;
函数myFunc(){
console.log(选项);
}

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

Thx@basarat,但解决方案的问题是json文件中json变量的声明。我在其他地方使用这个json文件,需要的内容是纯json。我建议编写一个小实用程序,将
.json
文件转换为
.ts
文件,并使用显示的语法