2014-04-10 12 views
14

Đối với hệ thống phát triển địa phương của tôi, tôi đang cố gắng phân phát tài sản đầu cuối bằng cách sử dụng kết nối grunt-contrib. Tôi cần một giải pháp tên miền chéo để sử dụng phông chữ trong Firefox. Máy chủ chỉ chạy tốt, nhưng dường như tôi không thể đặt tiêu đề.giải pháp CORS trung gian kết nối grunt-contrib-kết nối với keepalive đúng

Tôi đang sử dụng phiên bản 0.7.1 của kết nối grunt-contrib.

connect: { 
     dev: { 
      options: { 
       port: '9001', 
       base: 'build', 
       hostname: 'localhost', 
       keepalive: true, 
       middleware: function(connect, options, middlewares) { 
        // inject a custom middleware into the array of default middlewares 
        // this is likely the easiest way for other grunt plugins to 
        // extend the behavior of grunt-contrib-connect 
        middlewares.push(function(req, res, next) { 
         req.setHeader('Access-Control-Allow-Origin', '*'); 
         req.setHeader('Access-Control-Allow-Methods', '*'); 
         return next(); 
        }); 

        return middlewares; 
       } 
      } 
     } 
} 

Có vấn đề gì khi sử dụng phần mềm trung gian?

Trả lời

17

Thật đáng buồn vì không ai trả lời trước đó.

Mã của bạn trông giống như trong tài liệu, nhưng bạn thêm tiêu đề vào req thay vì res.

Vấn đề thứ hai là rằng tài liệu đánh lừa bạn vào(fixed) thêm phần mềm trung gian của bạn với .push. Mã của bạn hoàn toàn không được gọi vì có điều gì đó trước khi nó đang thực hiện res.end và/hoặc không gọi số next().

mã số cố định của bạn sẽ trông như thế này:

middleware: function (connect, options, middlewares) { 
        // inject a custom middleware 
        middlewares.unshift(function (req, res, next) { 
         res.setHeader('Access-Control-Allow-Origin', '*'); 
         res.setHeader('Access-Control-Allow-Methods', '*'); 
         //a console.log('foo') here is helpful to see if it runs 
         return next(); 
        }); 

        return middlewares; 
       } 
+0

Cảm ơn! Tôi không bao giờ có thể tìm ra điều này nếu không phải vì vấn đề của bạn. https://github.com/gruntjs/grunt-contrib-connect/issues/114 –

+0

Thật khó hiểu. Tôi đã sửa lỗi và phải đoán xem điều gì sẽ xảy ra: | Vui vì tôi đã giúp! – naugtur

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