2013-07-29 12 views
13

Volevo sapere come servire un modello di bootstrap attraverso la versione più recente delle vele. Dovrei aggiornare i collegamenti di JS a qualcos'altro. Ho provato a spostare js e immagini nella cartella delle risorse ma javascript non ha funzionato. La documentazione delle vele è molto scarsa su questo argomento. Qualcuno può dire un modo semplice per integrarlo. Grazie in anticipoCome servire un modello bootstrap in vele 0.9?

risposta

10

Sails 0.9.x si è spostato per utilizzare Grunt per la gestione delle risorse. Ciò consente di eseguire diversi tipi di pre-compilazione e gestione degli asset. Per impostazione predefinita, l'asset asset automatico nelle viste e nei layout non è disponibile.

Abbiamo aggiunto un flag che è possibile includere durante la generazione di un nuovo progetto di vele che creerà una cartella all'interno della cartella delle risorse e inietti automaticamente qualsiasi file in index.html o file di layout. Questo dovrebbe essere usato solo per lo sviluppo.

sails new <project name> --linker

Ora si avrà una cartella denominata linker nella cartella di risorse che è possibile inserire i file per averli collegati automaticamente. Aggiungerà anche alcuni tag al tuo file index.html e al tuo file di layout per sapere dove iniettare i vari JS, CSS e modelli.

Si può leggere di più qui: Sails Wiki - Assets

Se si lavora con un progetto che è già stato creato è possibile creare manualmente la seguente struttura di file:

assets/ 
    linker/ 
    js/ 
    styles/ 
    templates/ 

Sarà inoltre necessario aggiungere il seguente tag per la visualizzazione:

<!--SCRIPTS--> 
All .js files in assets/linker/js will be included here 
In production mode, they will all be concatenated and minified 
<!--SCRIPTS END--> 

<!--STYLES--> 
All .css files in assets/linker/styles (including automatically compile ones from LESS) will be included here 
In production mode, they will all be concatenated and minified 
<!--STYLES END--> 

<!--TEMPLATES--> 
All *.html files will be compiled as JST templates and included here. 
<!--TEMPLATES END--> 

Quindi, per usare bootstrap e avere i file aggiunti automaticamente alla tua pagina verrà inserita l'bootstra file p.js in assets/linker/js e il file bootstrap.css in assets/linker/css.

Nella produzione si desidera modificare il file grunt per compilare tutti i file css e js in singoli file e collegarli manualmente nella vista/layout/index.html.

+0

Quindi, se ci sono più file HTML presenti nella cartella dei modelli, tutti saranno scricchiolavano insieme nei tutti i file * .html saranno compilati come modelli JST e incluso qui. ??? Puoi mostrare un esempio per rendere in modo selettivo un determinato codice html per un URL. Scusa ma sono davvero nuovo con il grugnito.Grazie in anticipo – Bhanu423

+0

Quindi i modelli sono per applicazioni web a pagina singola. Verranno precompilati in modelli JST che è possibile utilizzare nel codice front-end. Se si desidera eseguire il rendering delle viste sul lato server e averle servite per una determinata rotta, si vorrà utilizzare la cartella delle viste. Qui puoi utilizzare EJS, Jade o qualsiasi altra logica di visualizzazione che desideri. Guardare: [Sails View Docs] (http://sailsjs.org/#!documentation/views) per maggiori informazioni sulle viste. – particlebanana

+0

Perché utilizzare il linker solo per lo sviluppo? – Vadorequest

7

C'è un problema con glyphicon. La destinazione del file css minified è /.temp/public/min/production.css e i font devono essere in /.temp/public/fonts/. Quindi devi copiare la cartella dei font da assets/linker/fonts/a /.temp/public/fonts/.

si deve aggiungere questo nel Gruntfile all'interno copy.dev.files matrice:

{ 
    expand: true, 
    cwd: './assets/linker/fonts', 
    src: ['**/*'], 
    dest: '.tmp/public/fonts' 
} 

o in modo più generale:

{ 
    expand: true, 
    cwd: './assets', 
    src: ['**/fonts/*'], 
    dest: '.tmp/public/fonts', 
    flatten: true 
} 

Sarà la ricerca di tutte le cartelle denominate fonts sotto assets. Utilizzare flatten per evitare le sottocartelle.

Cheers,

Problemi correlati