[Angular4] Creare modulo esterno

Linguaggi di programmazione: php, perl, python, C, bash e tutti gli altri.
Avatar utente
iJim
Prode Principiante
Messaggi: 218
Iscrizione: giovedì 4 febbraio 2010, 15:20
Desktop: ubuntu
Distribuzione: Ubuntu

[Angular4] Creare modulo esterno

Messaggio da iJim »

Salve a tutti, esiste un modo per importare un modulo che si trova in una cartella al di fuori della cartella dell'applicazione che lo deve importare?
Mi spiego meglio se sviluppo 10 applicazioni e tutte fanno uso dello stesso modulo, è logico scrivere quel modulo una sola volta e importarlo su tutte le applicazioni che hanno bisogno.

Come si può importare un modulo "esterno", o di "terze parti" ???
Ultima modifica di iJim il martedì 4 luglio 2017, 8:48, modificato 1 volta in totale.
Avatar utente
Zoff
Moderatore Globale
Moderatore Globale
Messaggi: 33338
Iscrizione: mercoledì 10 ottobre 2007, 22:36

Re: Angular4 importare modulo esterno

Messaggio da Zoff »

Dipende dal loader che utilizzi per l'applicazione. Webpack? SystemJS? Altro?

Puoi benissimo gestirlo come pacchetto npm ad esempio.
Nel package.json metti il path.
Prima di aprire una discussione leggi le Guide, poi vedi se c'è un HowTo nel Wiki e fai una ricerca nel Forum!
Applica semplicemente il [Risolto]! Prova: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=548821
Vuoi qualcosa di piu' dal forum? Prova i miei script: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=597066
Avatar utente
iJim
Prode Principiante
Messaggi: 218
Iscrizione: giovedì 4 febbraio 2010, 15:20
Desktop: ubuntu
Distribuzione: Ubuntu

Re: Angular4 importare modulo esterno

Messaggio da iJim »

Ciao a tutti,
Sono tornato, ho ripreso in mano di nuovo il problema!
credo di aver trovato la strada da seguire.
- Devo creare un modulo
- compilarlo con npm
- fare il link tramite nom link

Come posso fare per compilare il mio modulo???
Credo che se la compilazione tramite npm mi crei una cartella chiamata dist, ma ho difficoltà perchè nonostante abbia sistemato il file package.json non viene creata la cartella
Avatar utente
Zoff
Moderatore Globale
Moderatore Globale
Messaggi: 33338
Iscrizione: mercoledì 10 ottobre 2007, 22:36

Re: Angular4 importare modulo esterno

Messaggio da Zoff »

Non è necessaria la cartella dist.
Dipende da come è fatto il tuo modulo
Prima di aprire una discussione leggi le Guide, poi vedi se c'è un HowTo nel Wiki e fai una ricerca nel Forum!
Applica semplicemente il [Risolto]! Prova: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=548821
Vuoi qualcosa di piu' dal forum? Prova i miei script: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=597066
Avatar utente
iJim
Prode Principiante
Messaggi: 218
Iscrizione: giovedì 4 febbraio 2010, 15:20
Desktop: ubuntu
Distribuzione: Ubuntu

Re: Angular4 importare modulo esterno

Messaggio da iJim »

Potresti darmi una mano?
Parlo di compilare un modulo ( il più semplice possibile ) e creare il link per usarlo in un paio di applicazioni ( sempre semplici )
Avatar utente
Zoff
Moderatore Globale
Moderatore Globale
Messaggi: 33338
Iscrizione: mercoledì 10 ottobre 2007, 22:36

Re: Angular4 importare modulo esterno

Messaggio da Zoff »

Ma il tuo modulo com'è fatto?
Prima di aprire una discussione leggi le Guide, poi vedi se c'è un HowTo nel Wiki e fai una ricerca nel Forum!
Applica semplicemente il [Risolto]! Prova: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=548821
Vuoi qualcosa di piu' dal forum? Prova i miei script: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=597066
Avatar utente
iJim
Prode Principiante
Messaggi: 218
Iscrizione: giovedì 4 febbraio 2010, 15:20
Desktop: ubuntu
Distribuzione: Ubuntu

Re: Angular4 importare modulo esterno

Messaggio da iJim »

Mi scuso se rispondo con tanto ritardo!!

il modulo:
/home/utente/libraries/widget/widget.module.ts

Codice: Seleziona tutto

import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { AlertPanelComponent } from './AlertPanel/alert-panel.component';

@NgModule({
	imports: [CommonModule],
	declarations: [AlertPanelComponent],
	exports: [AlertPanelComponent]
})
export class WidgetModule {}
sul terminale lancio i comandi

Codice: Seleziona tutto

npm init --scope=@mylibs
# e viene creato il file package.json
# come entrypoint lascio widget.module.js

npm install
# viene creata la cartella node_module

npm link
#viene creato un link
Importazione in un applicazione al path /home/utente/app/
lancio da terminale

Codice: Seleziona tutto

ng new TestImport
# crea la cartella TestImport con dentro tutto il necessario

npm link @mylibs/widget
# dentro la cartella node_module viene aggiunta una cartella con il mio modulo
importazione sul sorgente

Codice: Seleziona tutto

import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { AppComponent } from './app.component';

import { WidgetModule } from '@mylibs/widget';

@NgModule({
  declarations: [AppComponent],
  imports: [BrowserModule, WidgetModule],
  providers: [],
  bootstrap: [AppComponent]
})
export class AppModule {}
tutto sembra funzionare ma appena lancio l'applicazione su localhost:4200 mi trovo questo errore:

'WidgetModule' imported by the module 'AppModule'. Please add a @NgModule annotation.
Avatar utente
iJim
Prode Principiante
Messaggi: 218
Iscrizione: giovedì 4 febbraio 2010, 15:20
Desktop: ubuntu
Distribuzione: Ubuntu

[Angular4] Creare modulo esterno

Messaggio da iJim »

Potrebbe essere un problema relativo al fatto che il link ha bisogno di un qualche parametro specifico?
Oppure si deve creare una cartella specifica???
Scrivi risposta

Ritorna a “Programmazione”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 21 ospiti