2016-03-22 11 views
1

サーバー側のレンダリング設定をES6モジュールとして渡すことができるタイプスクリプトアプリケーションに渡したいと思います。 SystemJSモジュールローダーを使用します。設定モジュールはindex.htmlの中に直接設定されているインデックスからTypesScriptアプリケーションへダイレクトES6モジュールを渡します

System.set(System.normalizeSync('config'), System.newModule({ foo: 'bar' })); // in the real scenario the { foo: 'bar' } is rendered by the server 

その後、main.ts

import { foo } from 'config'; 

にSystemJSが設定モジュールを認識するが、活字体のコンパイラは文句として、これは、ブラウザで動作します:

モジュール 'config'が見つかりません。

TypeScriptにindex.htmlで定義された「外部」カスタムモジュールについて伝える方法はありますか?

答えて

2

configはtypescriptモジュールではない(タイプ定義などはありません)、このようにインポートすることはできません(ES6インポートのように見えますが、実際はそうではありません)。したがって、d.tsファイルを書き込んで、tscの場所に置いてください。let config = require('config')で「フリーフォーム」のように読み込んでみてください。それで、あなたはそれを使うことができますが、型のヒントとチェックは一切ありません。

+0

単純なd.tsファイルを書くと、実際に問題が解決されました。乾杯! – dmudro

+0

'allowjs'指示はどこに適合しますか? –

関連する問題