Using TypeScript with SystemJS, how can I import a JSON file using plugin-json
?
If I write System.import('myjson.json!json').then(...)
then it imports it asynchronously and not as a part of System.register([...])
.
So, how can I import a JSON file as a part of System.register([...])
and convincing TypeScript to agree to this? (without then
Promise syntax).
Note:
I'm using the tsc
flag -m system
Update:
A possible solution is to use the -m umd
option for tsc
instead of -m system
, then I can do the following:
/// <reference path="typings/requirejs/require.d.ts" />
var myJson = require('myJson.json!json')
However, still waiting for an answer regarding usage of -m system
.
Using TypeScript with SystemJS, how can I import a JSON file using plugin-json
?
If I write System.import('myjson.json!json').then(...)
then it imports it asynchronously and not as a part of System.register([...])
.
So, how can I import a JSON file as a part of System.register([...])
and convincing TypeScript to agree to this? (without then
Promise syntax).
Note:
I'm using the tsc
flag -m system
Update:
A possible solution is to use the -m umd
option for tsc
instead of -m system
, then I can do the following:
/// <reference path="typings/requirejs/require.d.ts" />
var myJson = require('myJson.json!json')
However, still waiting for an answer regarding usage of -m system
.
- Why not to download a json file via a http request? Module systems are not designed for such tasks. – shadeglare Commented Jun 21, 2015 at 9:42
-
1
@MaxFX I want to use the
plugin-json
SystemJS module so when I build everything, systemjs will embed it all to one JS file, same goes for HTML templates, when I import them (to be used as angular controller templates), I want them all to be embedded in the built minified JS file. Loading via ajax will require putting these files too on production deployments. – Alon Amir Commented Jun 21, 2015 at 9:51
1 Answer
Reset to default 5In order to do : import json = require('myJson.json!json')
You need to have some .d.ts
file with the following:
declare module 'myJson.json!json'{
var json:any;
export = json;
}