我创建了一个示例 Angular2 应用程序,其中我的一个模块使用了外部库(rest),如下所示:
/// <reference path="../../typings/tsd.d.ts" />
import rest = require('rest');
import jsonpClient = require('rest/client/jsonp');
import mime = require('rest/interceptor/mime');
...
我用过
tsd install rest
将 rest.d.ts 放在“typings”目录中,并使用了
bower install rest
获取运行时版本(这在任何地方都没有解释。我想我必须做这样的事情?)
我已经设置了我的 gulp 脚本以将两个目录从 bower_components (“rest”及其依赖项“when”)复制到 dist/lib
该应用程序本身编译得很好,但在浏览器中,它无法解决其余/何时模块的依赖关系。
我已经添加了
System.config({
"baseURL": "/",
"transpiler": "traceur",
"paths": {
"components/*": "components/*.js",
"provider/*": "provider/*.js",
"services/*": "services/*.js",
"model/*": "model/*.js",
"rest": "lib/rest/rest.js",
"rest/*": "lib/rest/*.js",
"when": "lib/when/when.js",
"when/*": "lib/when/*.js",
"*": "lib/*.js"
}
});
到我的 index.html 文件,我可能会继续将文件添加到该列表中,但不知何故,这感觉......错了。
当然不可能,我必须在我的 index.html 中列出每个包的内部文件结构?我看到“when”模块假设在“./lib”中找到自己的依赖项,其中“rest”具有完全不同的结构。
所以,我的问题是:
在如何将通过 bower(或 npm)管理的 javascript 包导入 Angular2 的客户端时,我误解了什么?
我真的需要列出 System.paths 中每个模块的每个文件以使其工作吗?