2013-09-21 23 views
8

Mój szablon brunchu kompiluje cały mój kod do app.js i wszystkich zależności od innych podmiotów w vendor.js (całkiem standardowe podejście). Chciałbym zrobić to samo z CSS i jest używany do pracy, ale jak przeniosłem się do korzystania Bower coś przestało działać i teraz pojawia się następujący błąd:Rozdzielanie aplikacji i css dostawcy w brunchu

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)

z pliku konfiguracyjnego (config.cofee), które wygląda następująco:

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)/ 

Gdybym zamiast po prostu rozebrać się dwie linie do stylów i umieścić ten jeden wiersz w jego miejsce działa bez błędu:

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

Byłem porządek życia wit h, ale to powoduje coraz więcej problemów i chciałbym je posortować. Każda pomoc będzie bardzo ceniona.

Jeśli pojawi się pytanie ... wersja brunch, którego używam, to 1.7.6.

Odpowiedz

3

jestem zaskoczony, ale myślę, że sugestia Pawła, że ​​być może znak specjalny dostali do pliku wydaje się prawdopodobne. Teraz pracuję z konfiguracją, która wydaje się być identyczna z tym, co NIE działa wcześniej. Oto pełny plik konfiguracyjny:

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

Jest to dość dziwne, ale musiałem wykonać następujące czynności (dodaj/na końcu) w tym samym przypadku

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

Regex miałem było w porządku. Dla mnie problemem była ukryta postać w pliku (a przynajmniej tak uważam), ponieważ mam w zasadzie ten sam plik, ale nie daje mi to błędu. – ken

1

Miałem ten sam problem co Ken. Rozwiązałem go po prostu usuwając linie powodujące obrażenia z pliku config.coffee i po prostu ponownie wpisując je ponownie od zera. Zapewnia to brak ukrytych znaków i powoduje ponowne uruchomienie skryptu.

Powiązane problemy