2013-09-21 34 views
8

Mẫu Brunch của tôi biên dịch tất cả mã của tôi thành app.js và tất cả phụ thuộc của bên thứ ba thành vendor.js (một cách tiếp cận khá chuẩn). Tôi muốn làm điều tương tự với CSS và nó được sử dụng để làm việc nhưng khi tôi chuyển sang sử dụng Bower đó ngừng hoạt động và bây giờ tôi nhận được lỗi sau:Tách ứng dụng và nhà cung cấp css trong 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)

từ một tập tin cấu hình (config.cofee) mà trông như thế này:

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

Nếu tôi thay vì chỉ loại bỏ hai dòng cho stylesheets và đưa dòng này ở chỗ của nó nó hoạt động mà không có lỗi:

wit

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

tôi đã sống loại h điều này nhưng điều này đang gây ra nhiều vấn đề hơn và nhiều hơn nữa và tôi muốn làm cho nó được sắp xếp. Mọi sự trợ giúp sẽ rất được trân trọng.

Trong trường hợp câu hỏi xuất hiện ... phiên bản bữa sáng muộn tôi đang sử dụng là 1.7.6.

Trả lời

3

Tôi đang bối rối nhưng tôi nghĩ rằng đề nghị của Thánh Phaolô rằng có thể là một nhân vật đặc biệt đã nhận được vào tập tin có vẻ như có khả năng. Tôi bây giờ có nó làm việc với một cấu hình mà dường như giống với những gì đã không làm việc trước đó. Đây là tệp cấu hình đầy đủ:

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

Nó khá lạ nhưng tôi phải làm như sau (thêm/ở cuối) đối với trường hợp cùng

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

Regex tôi có là ok. Đối với tôi vấn đề là một ký tự ẩn trong tập tin (hoặc ít nhất đó là những gì tôi tin) bởi vì tôi có bản chất cùng một tập tin ngay bây giờ nhưng nó không cho tôi một lỗi. – ken

1

Tôi gặp vấn đề tương tự như Ken. Những gì giải quyết nó cho tôi chỉ là xóa các dòng vi phạm từ các tập tin config.coffee và chỉ cần gõ lại chúng một lần nữa từ đầu. Điều này đảm bảo không có ký tự ẩn nào hiện diện và làm cho tập lệnh chạy lại.

Các vấn đề liên quan