2012-12-02 23 views
5

मेरे पास एक एप्लिकेशन सफलतापूर्वक स्थानीय रूप से काम कर रहा है, इसलिए मुझे कोड काम पता है। हालांकि जब मैं नोड jitsu पर तैनात करने के लिए जाता हूं मुझे एक त्रुटि मिलती है कि इसे स्थानीय मॉड्यूल नहीं मिल रहा है।नोड jitsu स्थानीय मॉड्यूल नहीं मिल सकता

फ़ाइल सेटअप:: यहाँ मैं क्या है

/index.js 
/config/config.js 

index.js

var cfg = require('./config/config.js'); 

जब मुझे एक त्रुटि दे रहा है नोड जित्सु तैनात करने के लिए कोशिश कर रहा है:

Error: Cannot find module './config/config.js' 

चूंकि यह सब कोड स्थानीय रूप से काम करता है मुझे विश्वास नहीं है कि यह एक कोडिंग मुद्दा है। मैं इस धारणा के तहत हूं कि स्थानीय मॉड्यूल को पैकेज.जेसन में शामिल करने की आवश्यकता नहीं है, लेकिन शायद वे नोड जिट्सू के लिए करते हैं? मैंने उनके दस्तावेज पढ़े लेकिन स्थानीय मॉड्यूल के लिए कुछ विशेष नहीं मिला।

धन्यवाद!

उत्तर

10

इस तरह के स्थानीय मॉड्यूल ठीक से काम करना चाहिए .. जब तक आपके पास .gitignore या .npmignore में नहीं है।

node_modules निर्देशिका में मॉड्यूल की आवश्यकता है कि आप इसे सरणी में package.json फ़ाइल में जोड़ें।

यह जांचने का एक आसान तरीका है कि फ़ाइल को आपके तैनाती में शामिल किया गया है tar -tf $(npm pack) चलाने के लिए है।

+0

.gitignore में config.js फ़ाइल नाम सूचीबद्ध था। .gitignore से इसे हटाकर इस मुद्दे को हल किया गया। धन्यवाद! – nwkeeley

+2

यदि आप इसे '.gitignore' में रखना चाहते हैं, तो आप' .npmignore' फ़ाइल भी जोड़ सकते हैं, और विशेष रूप से इसे अनुमति दें। '.npmignore' 'gitignore' के समान प्रारूप का पालन करता है, इसलिए एक साधारण' ​​!// config/config.js' काम करना चाहिए। – Sly

3

मुझे तैनाती पर यह वही त्रुटि थी, लेकिन एक अलग मूल कारण के कारण।

फ़ाइल सेटअप::

var target = require('./public/data/TargetData.js'); 

मेरे स्थानीय मैक OSX वातावरण का पूंजीकरण अंतर की अनुमति दी:

/public/Data/TargetData.js 

app.js बयान की आवश्यकता मामले में किसी को भी एक ही समस्या में ठोकर /data/ बनाम /Data/ - नोडजित्सु सर्वर नहीं था।

+0

मैन इसे पोस्ट करने के लिए धन्यवाद, मुझे समय का एक गुच्छा बचाया। –

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