2013-02-25 24 views
16

Kịch bản: Tôi đã phát triển một số trang giao dịch sử dụng Node.js, Express + Handlebars như xem động cơ và MongoDB.Có cách nào để sử dụng nhiều công cụ xem với Express + Node.js

Bây giờ vấn đề là trong quá trình tích hợp mô-đun, tôi có một số trang được xây dựng trên Express + Jade làm công cụ xem.

Câu hỏi: Làm thế nào để tích hợp các trang được xây dựng trên tay lái & số trên Jade?

+0

Bạn có thể thấy cách bạn xử lý với việc xác định các trang? – Lion789

Trả lời

17
  1. Thêm cả động cơ và consolidate.js trong package.json bạn
  2. Trong yourapp.js

    cơ var = require ('củng cố');

    app.engine ('jade', engines.jade);

    app.engine ('tay lái', engines.handlebars);

Thông tin thêm here

+0

Có thể thêm công cụ mẫu tùy chỉnh không? http://expressjs.com/advanced/developing-template-engines.html –

+1

Điều này dường như không hiệu quả đối với tôi. Express 4 dường như luôn hiển thị tất cả các tệp có cùng một công cụ, ngay cả khi đuôi tệp khớp với một công cụ khác. –

+0

@WayneBloss âm thanh với tôi giống như bạn có một công cụ mẫu mặc định ẩn trong mã của bạn. Nếu bạn tạo ứng dụng hoặc bắt đầu từ mẫu/theo hướng dẫn/v.v, ứng dụng của bạn có thể có hiển thị mặc định được chỉ định tại một số thời điểm. – TyP

3

Express 4.0 và lên giải pháp (cho đến khi nó thay đổi một lần nữa)

  1. NPM cài đặt các công cụ mà bạn cần.

    // some examples 
    npm install ejs 
    npm install pug 
    npm install handlebars 
    
  2. Đặt động cơ sử dụng trong app.js.

    app.set('view engine', 'pug'); 
    app.set('view engine', 'ejs'); 
    
  3. Làm mẫu của bạn, đảm bảo đặt tiện ích mở rộng tệp.

    // forces usage of the respective render engine by setting the file extension explicitly. 
    res.render('about.ejs', { title: 'About' }); 
    res.render('about.pug', { title: 'About' }); 
    
  4. Tài liệu để biết thêm ví dụ về cách sử dụng.

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