我正在使用angular beta .8,我正在使用gulp来尝试将我的应用程序部署到apache http服务器。
我有一个像这样的。ts文件:
import {Component, OnInit} from 'angular2/core';
export class Calendar implements OnInit {
date: any;
ngOnInit() {
$('.datepicker').pickadate({
当我尝试启动"gulp"命令时,它显示了多个错误,目前我正在试图解决这个问题:
error TS2304: Cannot find name '$'.
我不知道如何为转译器提供这个,当环顾四周时,我发现了解决方案的两个分支:将/// <reference path="../node_modules/angular2/typings/browser.d.ts" />
添加到我拥有引导的地方,我做了,并添加了我目前拥有的类型:
{
"ambientDependencies": {
"es6-shim": "github:DefinitelyTyped/DefinitelyTyped/es6-shim/es6-shim.d.ts#4de74cb527395c13ba20b438c3a7a419ad931f1c",
"jasmine": "github:DefinitelyTyped/DefinitelyTyped/jasmine/jasmine.d.ts#bc92442c075929849ec41d28ab618892ba493504"
},
"globalDependencies": {
"es6-collections": "registry:dt/es6-collections#0.5.1+20160316155526",
"es6-promise": "registry:dt/es6-promise#0.0.0+20160614011821"
}
}
它没有解决任何问题,所以我想知道我还需要什么来使这个错误消失。
我也有其他的错误,我不确定他们是否相关,主要是抱怨没有找到名称'Observable', 'OnInit',我在我的。ts文件中引用的几个。js函数,和一些
TS2307 cannot find module 'ng2-material/all'
或不同的typescript文件,它似乎没有找到。
我想说的是,如果在plunker上或在浏览器中执行,代码确实可以工作,但当试图使用gulp部署它时,它就不起作用了。
我已经阅读了这个线程并应用了所有内容,但正如我所说的,它不适合我,Angular 2 typescript无法找到名称
对于第一个错误,它看起来像你试图使用jQuery($),但typescript编译器不知道那是什么。尝试像下面这样添加declare语句:
import {Component, OnInit} from 'angular2/core';
declare var $: any;
export class Calendar implements OnInit {
...
这只是告诉编译器$是第三方javascript文件(这里是jquery)中定义的'any'类型的变量。