【发布时间】:2016-01-02 05:58:54
【问题描述】:
所以代码很简单:
calls.json
{"SERVER":{
"requests":{
"one":"1"
}
} }
文件.ts
import json = require('../static/calls.json');
console.log(json.SERVER);
生成的 javascript 是正确的,并且在运行节点 js 服务器时,控制台日志 json.SERVER 会打印 '{ requests: { one: '1' } }',这是应该的。
然而,打字稿编译器(commonjs)不知何故并不特别喜欢这种情况并抛出:“找不到模块'../static/calls.json'”。
当然我试过写一个 .d.ts 文件,像这样:
declare module '../static/calls.json'{
var exp:any;
export = exp;
}
这显然会抛出:“环境模块声明无法指定相对模块名称”。
我也尝试了不同的变体,例如:
declare module 'calls.json' {
import * as json from '/private/static/calls.json';
export = json;
}
然后要求:
import json = require('calls.json');
没有一个可以正常工作并且有自己的小编译错误:)
我想使用外部 .json 文件,因为我使用 commonjs 服务器端和 amd 客户端,并且我想要一个文件来加载常量。
【问题讨论】:
标签: javascript json node.js typescript commonjs