Tôi rất mới đối với nút và heroku và tôi nghi ngờ đây là một loại quyền đơn giản vấn đề vv, nhưng tôi dường như không thể theo dõi nó xuống.Heroku (Cedar) + Nút + Express + Jade Tệp JavaScript phía máy khách trong thư mục con làm việc cục bộ với quản đốc + curl nhưng không được đẩy vào Heroku
Tôi có một số tệp javascript thuần túy trong thư mục con một cấp bên dưới thư mục gốc của tôi nơi tệp web.js của tôi đang ngồi. Tôi có một dòng trong web.js tôi nộp để xác định thư mục
app.use('/heatcanvas',express.static(__dirname+'/heatcanvas'));
Nếu tôi chạy ứng dụng của tôi tại địa phương với Heroku Foreman tôi nhận được phản ứng dự kiến js khi tôi chạy curl lệnh sau
curl localhost:5000/heatcanvas/heatcanvas.js
Tuy nhiên khi tôi đẩy để Heroku và nhấn url sống corresponsing trong trình duyệt
www.example.com/heatcanvas/heatcanvas.js
tôi nhận được như sau:
Cannot GET /heatcanvas/heatcanvas.js
Nếu tôi kiểm tra Firebug và/hoặc nhật ký Heroku tôi thấy tôi thực sự nhận được lỗi 404 cho những tệp đó mặc dù đường dẫn phải khớp với những gì đang được thực hiện cục bộ. Nó cũng đáng nói đến là bên thứ ba javascript là đến chỉ tốt, nó chỉ là khi thuộc tính src của thẻ script trỏ đến trang web của tôi rằng có một vấn đề. Tôi cần phải làm gì để có sẵn các tập lệnh của mình?
Tôi chưa bao giờ xem xét chi tiết cụ thể, nhưng tôi biết rằng trong Rails trên Heroku, bạn đặt/biên dịch nội dung tĩnh của bạn vào thư mục gốc/công khai. Ví dụ, Rails biên dịch '/ assets/base.sass' thành'/public/stylesheets/base.css'. Vì vậy, tôi nghĩ Heroku cho thấy thư mục 'public' như một thư mục truy cập tĩnh. Bạn thường không thể truy cập các tệp tùy ý trên các máy chủ sản xuất như bạn có thể được sử dụng trong các ứng dụng PHP thông thường. Bạn phải chỉ định một tuyến GET thực sự phục vụ tệp heatcanvas.js đó - nhưng bạn sẽ không muốn làm điều đó. Tôi thực sự gỉ, nhưng có lẽ cố gắng sử dụng các thư mục 'public'. – danneu
Trên yêu cầu [Cedar stack] (https://devcenter.heroku.com/articles/cedar) được chuyển đến dyno un-disturbed. Vì vậy, tùy thuộc vào ứng dụng/khung công tác để phân phát nội dung tĩnh. Đặc biệt duy nhất về thư mục 'public' là ứng dụng Rails/framework phục vụ các tài sản từ đó. Các ứng dụng Node.js sẽ có cấu trúc khác nhau. –
Bạn có thể đưa đầu ra của 'nhật ký heroku -' vào một trong các yêu cầu này không? –