2016-05-10 27 views
10

Sono poco confuso qui in angular2. Molti esempio show comeimportazione {*} da "@angular" invece di "angular2"

import { Component } from "@angular/core" 

Ma in realtà in node_module c'è esiste angular2 directory. Quindi logicamente dovrebbe essere

import { Component } from "angular2/core" 

Qual è la differenza tra questo due?

+0

applicazioni angolari sono modulari. Consistono di molti file ciascuno dedicato a uno scopo. L'angolare è modulare. Si tratta di una raccolta di moduli di libreria composti ciascuno di diverse funzionalità correlate che utilizzeremo per creare la nostra applicazione. Quando abbiamo bisogno di qualcosa da un modulo, lo importiamo. Qui importiamo la funzione di decoratore di componenti angolari da @ angular/core perché ne abbiamo bisogno per definire il nostro componente. app/app.component.ts (importazione) importazione {Componente} da '@ angular/core'; – mayur

+0

@ mayur, penso che potresti aver frainteso la domanda. L'OP non sta chiedendo cosa o perché vengono usate le funzioni di importazione, ma stanno chiedendo l'uso del simbolo '" @ "'. La risposta qui sotto di Gunter lo spiega. Controlla il log delle modifiche nel link che hanno pubblicato. – redfox05

risposta

8

Questo è un cambiamento che è stato introdotto con l'aggiornamento dalla beta.17 a rc.0

https://github.com/angular/angular/blob/master/CHANGELOG.md#200-rc0-2016-05-02

+0

Qualche idea sul perché l'interruttore? –

+1

@RyanRahlf AFAIK ci sono restrizioni di nome per namespace su NPM e '@' è uno di questi. Inoltre non vogliono spazi dei nomi diversi per versioni Angolari diverse, solo uno per tutto Angolare. –

+0

cosa succede se si utilizza un modulo di seguito ** beta.17 ** in un progetto ** r.c. **? Quale sintassi usi allora? – garrettmac