इस पर निर्भर करता है कि यह क्लाइंट- या सर्वर-साइड कोड है, तो दो अलग-अलग दृष्टिकोण हैं।
क्लाइंट-साइड:
class window.ChatService
constructor: (@io) ->
फिर एक और फाइल में, दोनों ChatService
और window.ChatService
वर्ग के लिए उपयोग की अनुमति देगा: यहाँ हम चीजें हैं जो वैश्विक नामस्थान (window
) करने के लिए फ़ाइलों में उपलब्ध होना चाहिए इस प्रकार देते हैं ।
सर्वर साइड: यहाँ हम exports
और require
उपयोग करना चाहिए।
class exports.ChatService
constructor: (@io) ->
फिर, अन्य फ़ाइल से इसे प्राप्त करने के लिए आप उपयोग कर सकते हैं: ChatService.coffee
फ़ाइल में, आपको निम्न होता
ChatService = require('ChatService.coffee').ChatService
नोट: अगर वहाँ कई वर्गों है कि आप से मिल रहा है कर रहे हैं
{ChatService, OtherService} = require('ChatService.coffee')
: ChatService.coffee, यह एक ऐसी जगह है जहां CoffeeScript के dict वास्तव में खोल जैसे चमकता है, है
दोनों: मूल रूप से, हम यह चुनते हैं कि हम किस पर्यावरण के आधार पर सर्वर-साइड या क्लाइंट-साइड कोड चलाते हैं या नहीं।एक आम तरीका है यह करने के लिए:
class ChatService
constructor: (@io) ->
if typeof module != "undefined" && module.exports
#On a server
exports.ChatService = ChatService
else
#On a client
window.ChatService = ChatService
इसे पाने के लिए:
if typeof module != "undefined" && module.exports
#On a server
ChatService = require("ChatService.coffee").ChatService
else
#On a client
ChatService = window.ChatService
दूसरे खंड की किसी और खंड छोड़ा जा सकता है, के बाद से पहले से ही ChatService
संदर्भ window
से जुड़ी को दर्शाता है।
आप इस फ़ाइल में कक्षाओं का एक बहुत परिभाषित करने के लिए जा रहे हैं, ऐसा लगता है कि उन्हें परिभाषित करने के लिए आसान हो सकता है: तो
self = {}
class self.ChatService
और उन्हें क्लाइंट पर सर्वर पर module.exports = self
और _.extend(window, self)
की तरह देते हैं (_.extend
को extend
फ़ंक्शन उचित के साथ प्रतिस्थापित करें)।
यदि आप रेल का उपयोग कर रहे हैं, तो आपको यह सुनिश्चित करना होगा कि किसी भी निर्भर कॉफ़ीस्क्रिप्ट फ़ाइल को * पहले * आप कोशिश करें और संदर्भ दें। एक बार जब आप उन फ़ाइलों में "आवश्यकताएं" निर्देश सेट करते हैं जिन्हें वास्तव में दूसरों की आवश्यकता होती है, तो आपको चर आदि तक पहुंच प्राप्त होगी। –