将直接ES6模块从索引传递给TypesScript应用程序

时间:2016-03-22 17:08:13

标签: typescript systemjs es6-module-loader

我想将服务器端呈现的配置作为ES6模块传递给可以导入它的TypeScript应用程序。使用SystemJS模块加载器。

配置模块直接在index.html中设置:

import { foo } from 'config';

然后在main.ts

{{1}}

这在浏览器中有效,因为SystemJS识别配置模块,但TypeScript编译器会抱怨:

  

无法找到模块' config'。

如何告诉TypeScript关于'外部' index.html中定义的自定义模块?

1 个答案:

答案 0 :(得分:2)

如果config不是typescript模块(没有类型定义等),那么就不能像这样导入它(它看起来像ES6导入,但实际上它不是一个)。因此,要么为它写d.ts文件并将其放在tsc可以找到它的地方,要么尝试使用let config = require('config')以“自由格式”的形式导入它。然后你可以使用它,但没有任何类型的提示和检查。