2012-05-08 23 views
7

मैं मेटियर क्लाइंट कोड में एनपीएम मॉड्यूल का उपयोग करने के तरीके पर पूरी तरह उलझन में हूं।मेटीयर क्लाइंट में एनपीएम मॉड्यूल का उपयोग कैसे करें?

मैं समझता हूँ FS की तरह मॉड्यूल केवल सर्वर साइड काम करेगा, लेकिन इस मामले में मैं बहुत दिनांक प्रदर्शित करने के लिए इस तरह एक साधारण पाठ मॉड्यूल का उपयोग करना चाहते हैं:

https://github.com/ecto/node-timeago

मैं कोशिश की है के तहत/सार्वजनिक मॉड्यूल स्थापित करने/node_modules, और यह सर्वर साइड अतः से इन निर्देशों का पालन पर महान काम करता है: ( How do we or can we use node modules via npm with Meteor?)

Meteor.startup(function() { 
    var require = __meteor_bootstrap__.require 
    var timeago = require('timeago') 
    console.log(timeago(new Date())) 
    ... 

Howev एर यह क्लाइंट-साइड कोड में काम नहीं करता:

if (Meteor.is_client) { 
    var require = __meteor_bootstrap__.require 
    var timeago = require('timeago') 
    console.log(timeago(new Date())) 
    ... 

Uncaught ReferenceError: __meteor_bootstrap__ is not defined" 

सर्वर साइड के रूप में मैं ग्राहक पर पाठ रेंडर करने के लिए कोशिश कर रहा हूँ, इस मामले में तरह मेरे लिए की बेकार है।

+0

http://stackoverflow.com/q/17068813/586086 में विधि मेरे लिए काम करती है। –

उत्तर

6

मुझे विश्वास नहीं है कि आपको सर्वर साइड संस्करण का उपयोग करने की आवश्यकता है। केवल सर्वर पक्ष के लिए एनपीएम सामग्री का उपयोग करें और बीटीडब्ल्यू, इसे अपने/सार्वजनिक/में भी रखें। कौन जानता है कि आप इसे अपने/सार्वजनिक/में होने के बाद इसे कॉल कर सकते हैं, इसे आज़माएं। या इसे आजमाएं।

jQuery की तरह कुछ का उपयोग करें timeago.js

में/ग्राहक/या की तरह कुछ/ग्राहक यह रखो/js

एक /client/helpers.js या कुछ इस तरह बनाएँ।

एक हैंडलबार सहायक का उपयोग करें।

Handlebars.registerHelper('date', function(date) { 
    if(date) { 
    dateObj = new Date(date); 
    return $.timeago(dateObj); 
    } 
    return 'a long long time ago in a galaxy far away'; 
}); 

टेम्पलेट से 'दिनांक' हैंडलबार्स सहायक फ़ंक्शन कॉल करने का उदाहरण।

{{ date created }} 

कहाँ तारीख handebars सहायक है और बनाया उल्का/मोंगो संग्रह से बाहर आने की तारीख है।

जिथब ब्रिटो प्रोजेक्ट देखें। यही वह जगह है जहां मुझे यह कोड स्निपेट मिला और मैंने इसे चैट रूम ऐप में लिखा था। ठीक काम करता है।

वहां कुछ अन्य लोग तैर रहे हैं। Madewith.meteor.com पर जाएं और कुछ परियोजनाओं के स्रोत को समझें।

+0

धन्यवाद दोस्त! तो मुद्दा का सार है: * NPM मॉड्यूल क्लाइंट साइड के लिए इष्टतम नहीं हैं * बर सहायकों अपने दोस्त हैं * jQuery प्लग इन का उपयोग और स्वचालित रूप से संदर्भित करता है, तो वे एप्लिकेशन dir – 7zark7

+0

सुधार "एप्लिकेशन/ग्राहक dir" में हैं किया जा सकता है - जैसा कि आप देखेंगे "संदर्भ त्रुटि: jQuery परिभाषित नहीं है" अन्यथा। – 7zark7

+0

हाँ, यह मेरे लिए काम कर रहा है, मैंने जोनाथनकिन्स्टन के कोड से ब्रिटो उदाहरण का उपयोग किया ... एक और परियोजना है जिसमें अच्छी मानव पठनीय तारीख भी है ... maddewith.meteor.com परियोजनाओं के माध्यम से खोजें –

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