2013-08-20 14 views
20

मैंने अपने Express.js प्रोजेक्ट को घटकों को स्थापित करने के लिए बोवर का उपयोग करने के लिए बदल दिया है। सभी घटक/घटकों के तहत स्थापित हैं (/components/jquery/jquery.js ... आदि)।बोवर घटकों के लिए Express.js रूटिंग

मैं भी जो इस तरह दिखता है मेरे अपने रूटर बनाने:

app.get('/', routes.index); // main page 
app.get('/p/:name', routes.p); //redirect routes 

app.get('/api/contacts', api.contacts); //look at all 
app.get('/api/contact/:id', api.contact); //look at one 
app.post('/api/contact', api.add); //add contact 
app.put('/api/contact/:id', api.edit); //edit&update contact 
app.delete('/api/contact/:id', api.delete); //delete contact 

के लिए कोई मार्गों/घटकों रहे हैं इसलिए http://my.project/components/jquery/jquery.js के साथ एक Cannot GET /components/jquery/jquyery.js

कोई मुझे पता है क्या तो कृपया कर सकते हैं वापस आता है सभी घटकों के लिए/घटकों के लिए रूटिंग जोड़ने का सबसे अच्छा तरीका?

उत्तर

53

शायद आप ऐसा करने के लिए स्थिर मिडलवेयर का उपयोग करना चाहते हैं। मैं बोवर से परिचित नहीं हूँ, लेकिन अपने सभी घटकों /components में स्थापित कर रहे हैं तो आप निम्न कर सकते हैं:

app.use(express.static(__dirname + '/components')); 

इसका मतलब यह है कि अगर आप /components/jquery/jquery.js है आप

<script src='/jquery/jquery.js'></script> 

यदि आप बल्कि साथ शामिल कर सकते हैं /components अवश्य लगा दें आप कर सकते हैं:

app.use('/components', express.static(__dirname + '/components')); 

इस तरह आप के साथ स्क्रिप्ट अनुरोध कर सकते हैं:

<script src='/components/jquery/jquery.js'></script> 
5

आप कनेक्ट-संपत्ति का उपयोग करते हैं, तो कुछ इस तरह अच्छी तरह से काम करता है:

app.use require("connect-assets")(paths: ['assets/js', 'assets/css', 'bower_components']) 

फिर अपने js में प्रकट आप बस अन्य js संपत्ति की तरह बोवर घटक शामिल कर सकते हैं। संपत्ति/application.js:

// bower components: 
//= require jquery/dist/jquery 
//= require underscore/underscore 
//= require backbone/backbone 
// local assets: 
//= require my_app 
+0

मैं आयोजित हैकथॉन स्टार्टर आधारित परियोजना के लिए बोवर समर्थन जोड़ने के लिए देख रहा था, और यह एकदम सही है! – DigitalDesignDj

संबंधित मुद्दे