将 Parse 与 Angular2 (TypeScript) 结合使用

Using Parse with Angular2 (TypeScript)

(是的,我知道 angular2 是测试版,但我只是尝试一下)

我在这里遵循了 angular2 快速入门:https://angular.io/docs/js/latest/quickstart.html

而且效果很好。现在我想尝试将它与 Parse 一起使用,所以我发现 tsd 可能是从 TypeScript 访问 Parse 的方式。

我继续做了:

tsd init
tsd install parse --save

它添加了 Parse (parse.d.ts) + 它的依赖项(node.d.ts、jquery.d.ts 和 underscore.d.ts。

现在,node.d.ts 部分有点问题,因为 angular2 已经添加了这个,所以每个定义都是重复的,我试图通过以下方式解决这个问题:

Remove "typings/node" folder (node/node.d.ts)
Remove '/// <reference path="node/noded.ts" />' from typings/tsd.d.ts
Remove '/// <reference path="node/noded.ts" />' from typings/parse/parse.d.ts

我想,这会起作用,因为 node.d.ts 已经可用了,对吧?

好吧,它不起作用,我不知道为什么。我得到一个错误 node_modules/angular2/typings/angular-protractor/angular-protractor.d.ts(1679,13): error TS2403: Subsequent variable declarations must have the same type. Variable '$' must be of type 'JQueryStatic', but here has type 'cssSelectorHelper'. 但这不是主要问题,因为它看起来像在那之后继续。

这就是 npm start "crash":

[1] events.js:141
[1]       throw er; // Unhandled 'error' event
[1]       ^
[1] 
[1] Error: watch node_modules/angular2/es6/dev/examples/core/ts/bootstrap/bootstrap.js ENOSPC
[1]     at exports._errnoException (util.js:855:11)
[1]     at FSWatcher.start (fs.js:1313:19)
[1]     at Object.fs.watch (fs.js:1341:11)
[1]     at createFsWatchInstance (/home/david/repo/angular2-toodeloo/node_modules/chokidar/lib/nodefs-handler.js:37:15)
[1]     at setFsWatchListener (/home/david/repo/angular2-toodeloo/node_modules/chokidar/lib/nodefs-handler.js:80:15)
[1]     at FSWatcher.NodeFsHandler._watchWithNodeFs (/home/david/repo/angular2-toodeloo/node_modules/chokidar/lib/nodefs-handler.js:228:14)
[1]     at FSWatcher.NodeFsHandler._handleFile (/home/david/repo/angular2-toodeloo/node_modules/chokidar/lib/nodefs-handler.js:255:21)
[1]     at FSWatcher.<anonymous> (/home/david/repo/angular2-toodeloo/node_modules/chokidar/lib/nodefs-handler.js:473:21)
[1]     at FSReqWrap.oncomplete (fs.js:82:15)

完整的输出可以在这里找到:http://pastebin.com/xE3u3qUh

更新

我意识到上面的错误是在 angular2 示例中,所以我删除了示例并消除了错误。但是当我做"npm install parse"时,错误又回来了,但是在另一个地方..这次:Error: watch node_modules/opt-merger/node_modules/lodash/lang/isFunction.js ENOSPC

我得到这个的原因是文件系统中有很多手表(inotify)。请参阅 https://unix.stackexchange.com/questions/13751/kernel-inotify-watch-limit-reached%E2%80%8C%E2%80%8B 以了解如何增加手表的最大数量!