2013-09-21 18 views
8

Il mio modello Brunch compila tutto il mio codice in app.js e tutte le dipendenze di terze parti in vendor.js (un approccio piuttosto standard). Mi piacerebbe fare lo stesso con i CSS ed è usato per lavorare, ma come mi sono trasferito a utilizzare Bower qualcosa ha smesso di funzionare e io ora ottengo il seguente errore:Separazione dell'app e del fornitore css in Brunch

Error: couldn't load config /path-to-root/config.coffee. SyntaxError: unexpected { at Object.exports.loadConfig (/usr/local/share/npm/lib/node_modules/brunch/lib/helpers.js:448:15)

da un file di configurazione (config.cofee) che assomiglia a questo:

files: 
    javascripts: 
     joinTo: 
     'javascripts/app.js': /^app/ 
     'javascripts/vendor.js': /^(bower_components|vendor)/ 
     'test/javascripts/test-vendor.js': /^test(\/|\\)(?=vendor)/ 

    stylesheets: 
     joinTo: 
     'stylesheets/app.css': /^app/ 
     'stylesheets/vendor.css': /^(bower_components|vendor)/ 

Se invece appena nudo fuori le due linee per i fogli di stile e mettere questa singola linea al suo posto funziona senza errori:

spirito

'stylesheets/vendor.css': /^(app|bower_components|vendor)/

ho sorta di vita h questo, ma questo sta causando sempre più problemi e mi piacerebbe farlo in ordine. Qualsiasi aiuto sarebbe molto apprezzato.

Nel caso in cui si presenti la domanda ... la versione del brunch che sto usando è 1.7.6.

risposta

3

Sono sconcertato, ma penso che il suggerimento di Paolo che forse un carattere speciale aveva ottenuto nel file sembra probabile Ora sto lavorando con una configurazione che sembra identica a ciò che NON stava funzionando prima. Ecco il file di configurazione completo:

sysPath = require 'path' 

exports.config = 
    # See http://brunch.io/#documentation for documentation. 
    files: 
    javascripts: 
     joinTo: 
     'javascripts/app.js': /^app/ 
     'javascripts/vendor.js': /^(bower_components|vendor)/ 
     'test/javascripts/test-vendor.js': /^test(\/|\\)(?=vendor)/ 

    stylesheets: 
     joinTo: 
     'stylesheets/app.css': /^app/ 
     'stylesheets/vendor.css': /^(bower_components|vendor)/ 

    templates: 
     precompile: true 
     root: 'templates' 
     joinTo: 'javascripts/app.js' : /^app/ 

     modules: 
     addSourceURLs: true 

    # allow _ prefixed templates so partials work 
    conventions: 
    ignored: (path) -> 
     startsWith = (string, substring) -> 
     string.indexOf(substring, 0) is 0 
     sep = sysPath.sep 
     if path.indexOf("app#{sep}templates#{sep}") is 0 
     false 
     else 
     startsWith sysPath.basename(path), '_' 
2

E 'piuttosto strano, ma ho dovuto fare quanto segue (aggiungere/alla fine) per lo stesso caso

stylesheets: { 
    joinTo: { 
     'css/vendor.css': /^(vendor|bower_components)\//, 
     'css/styles.css': /^app\/css\// 
    } 
} 
+0

Il regex che ho avuto era ok. Per me il problema era un carattere nascosto nel file (o almeno questo è quello che credo) perché ho essenzialmente lo stesso file ora ma non mi dà un errore. – ken

1

Ho avuto lo stesso problema di Ken. Quello che mi ha risolto è solo eliminare le righe incriminate dal file config.coffee e semplicemente ridigitarle di nuovo da zero. Questo assicura che nessun personaggio nascosto sia presente e riattiva lo script.