2016-07-16 131 views

risposta

5

Sì, è necessario aggiungere tutti i file CSS facendo riferimento da vendorNpmFiles in angular-cli-build.js file di prima passare alla directory del progetto e il tipo

npm install --save @ng-bootstrap/ng-bootstrap 

quindi aprire il angolare-CLI-build.js e aggiungere questa linea

vendorNpmFiles: [ 
    'systemjs/dist/system-polyfills.js', 
    'systemjs/dist/system.src.js', 
    'zone.js/dist/**/*.+(js|js.map)', 
    'es6-shim/es6-shim.js', 
    'reflect-metadata/**/*.+(ts|js|js.map)', 
    'rxjs/**/*.+(js|js.map)', 
    '@angular/**/*.+(js|js.map)', 
    'angularfire2/**/*.js', 
    'firebase/*.js', 
    '@ng-bootstrap/ng-bootstrap/**/*.+(js|js.map)' 
] 

ora aprire lo src/system-conf ig.ts, scrivere

const map: any = { 
    '@ng-bootstrap/ng-bootstrap': 'vendor/@ng-bootstrap/ng-bootstrap' 
}; 

e

const packages: any = { 
    '@ng-bootstrap/ng-bootstrap': { 
    defaultExtension: 'js', 
    main: 'index.js' 
    }, 
    '@ng-bootstrap/ng-bootstrap/accordion': { 
    defaultExtension: 'js', 
    main: 'index.js' 
    }, 
    '@ng-bootstrap/ng-bootstrap/alert': { 
    defaultExtension: 'js', 
    main: 'index.js' 
    }, 
    '@ng-bootstrap/ng-bootstrap/buttons': { 
    defaultExtension: 'js', 
    main: 'index.js' 
    }, 
    '@ng-bootstrap/ng-bootstrap/carousel': { 
    defaultExtension: 'js', 
    main: 'index.js' 
    }, 
    '@ng-bootstrap/ng-bootstrap/collapse': { 
    defaultExtension: 'js', 
    main: 'index.js' 
    }, 
    '@ng-bootstrap/ng-bootstrap/dropdown': { 
    defaultExtension: 'js', 
    main: 'index.js' 
    }, 
    '@ng-bootstrap/ng-bootstrap/pagination': { 
    defaultExtension: 'js', 
    main: 'index.js' 
    }, 
    '@ng-bootstrap/ng-bootstrap/popover': { 
    defaultExtension: 'js', 
    main: 'index.js' 
    }, 
    '@ng-bootstrap/ng-bootstrap/progressbar': { 
    defaultExtension: 'js', 
    main: 'index.js' 
    }, 
    '@ng-bootstrap/ng-bootstrap/rating': { 
    defaultExtension: 'js', 
    main: 'index.js' 
    }, 
    '@ng-bootstrap/ng-bootstrap/tabset': { 
    defaultExtension: 'js', 
    main: 'index.js' 
    }, 
    '@ng-bootstrap/ng-bootstrap/timepicker': { 
    defaultExtension: 'js', 
    main: 'index.js' 
    }, 
    '@ng-bootstrap/ng-bootstrap/tooltip': { 
    defaultExtension: 'js', 
    main: 'index.js' 
    }, 
    '@ng-bootstrap/ng-bootstrap/typeahead': { 
    defaultExtension: 'js', 
    main: 'index.js' 
    } 
}; 
+0

Modificata la risposta perché richiede ng-bootstrap scritto dal team ui angolare. Non si tratta di ng2-bootstrap di Valore Software. Vedi qui per le differenze. https://www.reddit.com/r/Angular2/comments/4s3kkx/what_is_the_difference_between_ngbootstrap/ –

+0

@ pd-farhad quando imposto 'precompilare: [NGB_PRECOMPILE]' Ho il seguente errore: bootstrap-angular/tmp/broccoli_type_script_compiler-input_base_path -djYaKive.tmp/0/src/app/app.component.ts (8, 3): argomento di tipo '{moduleId: string; selettore: stringa; direttive: (typeof NgbAlert | typeof NgbDismissibleAlert) [...'non è assegnabile al parametro di tipo' {selector ?: string; input ?: string []; uscite ?: stringa []; proprietà ?: stringa []; eventi ?: strin ... '. Il valore letterale dell'oggetto può specificare solo le proprietà note e 'precompilare' non esiste nel tipo '{selector ?: string; input ?: string []; outp –

2

Sì ben risposto da @pd Farhad sopra, ma voglio dare qualche spiegazione a quello,

In realtà se si deve aggiungere un po ' librerie di terze parti in angular CLI quindi è necessario aggiungere il riferimento alla libreria di terze parti nel file angular-cli-build.js, perché angular cli ha invece preso tutti i file dalla cartella del fornitore della cartella node_modules così ogni volta che aggiungi una voce per la tua libreria (ad esempio ng-bootstrap nel tuo caso) nel file cli-build. farà una copia di quella libreria nella cartella del venditore di angular cli. che è disponibile per il nostro progetto. così

How should I add the minified .css from my node_modules folder to my angular-cli project?

si deve dare di riferimento di quel file/libreria nel file system-cli-build.js al fine di ottenere nella cartella vendor.

Do I have to add it to angular-cli-build.js

sì, la sua obbligatoria se si tratta di biblioteca, ma non nel caso di giusta singolo file che si può cadere il file nella cartella pubblica anche. dipende da te.

Do I have to add the typings?

Non molto obbligatorio.

spero che questo chiarisca di più!

+0

Molto ben spiegato. Apprezza così tanto questa spiegazione. Posso sapere perché non è tanto obbligatorio aggiungere alle battiture? L'aggiunta di AngularFire2 richiede l'aggiunta alle digitazioni. Quindi qual è il fattore decisivo da aggiungere alle digitazioni o no? –

+0

Grazie mille il tuo apprezzamento significa molto per me :) scusa non ho una solida idea a riguardo, ogni volta che veniro a sapere che posterò o modificherò nella mia risposta esistente –