角度流星-angular2流星自动引导错误-在上未找到指令批注

角度流星-angular2流星自动引导错误-在上未找到指令批注,angular,angular-meteor,Angular,Angular Meteor,我在《角流星教程》的第3步中遇到了一个错误() 当我尝试这样做时: import {bootstrap} from 'angular2-meteor-auto-bootstrap'; bootstrap(Socially); 我在浏览器上遇到此错误: EXCEPTION: No Directive annotation found on Socially 这是我的密码: 客户端/应用程序ts import 'reflect-metadata'; import 'zone.js/dist/zo

我在《角流星教程》的第3步中遇到了一个错误()

当我尝试这样做时:

import {bootstrap} from 'angular2-meteor-auto-bootstrap';
bootstrap(Socially);
我在浏览器上遇到此错误:

EXCEPTION: No Directive annotation found on Socially
这是我的密码:

客户端/应用程序ts

import 'reflect-metadata';
import 'zone.js/dist/zone';
import {Component} from 'angular2/core';
import {bootstrap} from 'angular2-meteor-auto-bootstrap';
import {Parties} from '../collections/parties';
import {Tracker} from 'meteor/tracker';
import {Mongo} from "meteor/mongo";

@Component({
  selector: 'app',
  templateUrl: 'client/app.html'
})
class Socially {
  parties: Mongo.Cursor<Object>;

    constructor () {
        this.parties = Parties.find();      
    }
}

bootstrap(Socially);
import {Mongo} from 'meteor/mongo';

export let Parties = new Mongo.Collection('parties');
import {loadParties} from './load-parties';
import {Meteor} from 'meteor/meteor';

Meteor.startup(loadParties);
import {Parties} from '../collections/parties';

export function loadParties() {
    if (Parties.find().count() === 0) {

    var parties = [
        {
            'name': 'Dubstep-Free Zone',
            'description': 'Can we please just for an evening not listen to dubstep.',
            'location': 'Palo Alto'
        },
        {
            'name': 'All dubstep all the time',
            'description': 'Get it on!',
            'location': 'Palo Alto'
        },
        {
            'name': 'Savage lounging',
            'description': 'Leisure suit required. And only fiercest manners.',
            'location': 'San Francisco'
        }
    ];

    for (var i = 0; i < parties.length; i++) {
        Parties.insert(parties[i]);
    }
  }
};
server/main.ts

import 'reflect-metadata';
import 'zone.js/dist/zone';
import {Component} from 'angular2/core';
import {bootstrap} from 'angular2-meteor-auto-bootstrap';
import {Parties} from '../collections/parties';
import {Tracker} from 'meteor/tracker';
import {Mongo} from "meteor/mongo";

@Component({
  selector: 'app',
  templateUrl: 'client/app.html'
})
class Socially {
  parties: Mongo.Cursor<Object>;

    constructor () {
        this.parties = Parties.find();      
    }
}

bootstrap(Socially);
import {Mongo} from 'meteor/mongo';

export let Parties = new Mongo.Collection('parties');
import {loadParties} from './load-parties';
import {Meteor} from 'meteor/meteor';

Meteor.startup(loadParties);
import {Parties} from '../collections/parties';

export function loadParties() {
    if (Parties.find().count() === 0) {

    var parties = [
        {
            'name': 'Dubstep-Free Zone',
            'description': 'Can we please just for an evening not listen to dubstep.',
            'location': 'Palo Alto'
        },
        {
            'name': 'All dubstep all the time',
            'description': 'Get it on!',
            'location': 'Palo Alto'
        },
        {
            'name': 'Savage lounging',
            'description': 'Leisure suit required. And only fiercest manners.',
            'location': 'San Francisco'
        }
    ];

    for (var i = 0; i < parties.length; i++) {
        Parties.insert(parties[i]);
    }
  }
};
服务器/加载方。ts

import 'reflect-metadata';
import 'zone.js/dist/zone';
import {Component} from 'angular2/core';
import {bootstrap} from 'angular2-meteor-auto-bootstrap';
import {Parties} from '../collections/parties';
import {Tracker} from 'meteor/tracker';
import {Mongo} from "meteor/mongo";

@Component({
  selector: 'app',
  templateUrl: 'client/app.html'
})
class Socially {
  parties: Mongo.Cursor<Object>;

    constructor () {
        this.parties = Parties.find();      
    }
}

bootstrap(Socially);
import {Mongo} from 'meteor/mongo';

export let Parties = new Mongo.Collection('parties');
import {loadParties} from './load-parties';
import {Meteor} from 'meteor/meteor';

Meteor.startup(loadParties);
import {Parties} from '../collections/parties';

export function loadParties() {
    if (Parties.find().count() === 0) {

    var parties = [
        {
            'name': 'Dubstep-Free Zone',
            'description': 'Can we please just for an evening not listen to dubstep.',
            'location': 'Palo Alto'
        },
        {
            'name': 'All dubstep all the time',
            'description': 'Get it on!',
            'location': 'Palo Alto'
        },
        {
            'name': 'Savage lounging',
            'description': 'Leisure suit required. And only fiercest manners.',
            'location': 'San Francisco'
        }
    ];

    for (var i = 0; i < parties.length; i++) {
        Parties.insert(parties[i]);
    }
  }
};
tsconfig.json

{
  "name": "socially",
  "private": true,
  "scripts": {
    "start": "meteor run"
  },
  "dependencies": {
    "angular2": "2.0.0-rc.1",
    "angular2-google-maps": "0.9.0",
    "angular2-meteor": "^0.5.5",
    "angular2-meteor-accounts-ui": "0.3.5",
    "angular2-meteor-auto-bootstrap": "^0.5.5",
    "angular2-pagination": "0.1.1",
    "collections": "^3.0.0",
    "ionic-webpack-package": "^1.0.0",
    "meteor-node-stubs": "^0.2.3",
    "ng2-material": "0.2.12",
    "reflect-metadata": "^0.1.2",
    "rxjs": "5.0.0-beta.6"
  }
}
{
  "compilerOptions": {
    "experimentalDecorators": true,
    "module": "commonjs",
    "target": "es5",
    "isolatedModules": false,
    "moduleResolution": "node",
    "emitDecoratorMetadata": true,
    "removeComments": false,
    "noImplicitAny": false,
    "sourceMap": true
  },
  "filesGlob": [
    "client/**/*.ts",
    "server/**/*.ts",
    "typings/**/*.d.ts"
  ],
  "exclude": [
    "node_modules"
  ]
}
{
  "name": "socially",
  "version": false,
  "dependencies": {
    "es6-promise": "registry:npm/es6-promise#3.0.0+20160211003958"
  },
  "ambientDependencies": {
    "es6-shim": "registry:dt/es6-shim#0.31.2+20160317120654"
  }
}
typings.json

{
  "name": "socially",
  "private": true,
  "scripts": {
    "start": "meteor run"
  },
  "dependencies": {
    "angular2": "2.0.0-rc.1",
    "angular2-google-maps": "0.9.0",
    "angular2-meteor": "^0.5.5",
    "angular2-meteor-accounts-ui": "0.3.5",
    "angular2-meteor-auto-bootstrap": "^0.5.5",
    "angular2-pagination": "0.1.1",
    "collections": "^3.0.0",
    "ionic-webpack-package": "^1.0.0",
    "meteor-node-stubs": "^0.2.3",
    "ng2-material": "0.2.12",
    "reflect-metadata": "^0.1.2",
    "rxjs": "5.0.0-beta.6"
  }
}
{
  "compilerOptions": {
    "experimentalDecorators": true,
    "module": "commonjs",
    "target": "es5",
    "isolatedModules": false,
    "moduleResolution": "node",
    "emitDecoratorMetadata": true,
    "removeComments": false,
    "noImplicitAny": false,
    "sourceMap": true
  },
  "filesGlob": [
    "client/**/*.ts",
    "server/**/*.ts",
    "typings/**/*.d.ts"
  ],
  "exclude": [
    "node_modules"
  ]
}
{
  "name": "socially",
  "version": false,
  "dependencies": {
    "es6-promise": "registry:npm/es6-promise#3.0.0+20160211003958"
  },
  "ambientDependencies": {
    "es6-shim": "registry:dt/es6-shim#0.31.2+20160317120654"
  }
}
最后,这里是我使用的命令:

meteor create socially
cd socially

meteor npm install --save meteor-node-stubs angular2
meteor add angular2-compilers
meteor add barbatus:angular2-runtime
meteor npm install --save angular2-meteor
meteor remove blaze-html-templates

npm install typings -g
typings init
typings install es6-promise --save
typings install es6-shim --ambient --save
typings install registry:env/meteor --ambient

meteor npm install angular2-meteor-auto-bootstrap --save
和我的工具版本:

npm -v
3.8.6

meteor --version
Meteor 1.3.2.4

meteor list
angular2-compilers         0.5.6
autopublish                1.0.7
barbatus:angular2-runtime  0.2.3_2
ecmascript                 0.4.3
es5-shim                   4.5.10
insecure                   1.0.7
jquery                     1.11.8
meteor-base                1.0.4
mobile-experience          1.0.4
mongo                      1.1.7
reactive-var               1.0.9
standard-minifier-css      1.0.6
standard-minifier-js       1.0.6
tracker                    1.0.13
我正在使用Windows8

我找了好几天的解决办法,但都找不到


感谢您的帮助。

这是由于参考了beta17和RC1。这是在角流星中解决之前的问题

谢谢大家!!这解决了我的问题,你是一个救生员:)我确实喜欢你的链接,我删除angular2并安装angular RC1,我将app.ts上组件的导入从“angular2/core”更改为“@angular/core”。