2012-10-03 29 views
25

वेबस्टॉर्म/पीएचस्टॉर्म/आईडीईए में, जावास्क्रिप्ट के लिए बहुत सी कोड इंटेलिजेंस सुविधा है। हालांकि, node_modules से सब कुछ समेत एक नोड.जेएस एप्लीकेशन विकसित करते समय "फाइल पर नेविगेट" जैसी चीजों को जटिल करता है (मैं नहीं करता हूं उदाहरण के लिए, node_modules फ़ोल्डर से आईडीई मुझे package.json एस की पेशकश करने की इच्छा नहीं है)। लेकिन छोड़कर node_modules फ़ोल्डर पूरी तरह से अपने आप ही समस्या है - कोई कोड पूर्णता आदिवेबस्टॉर्म/phpStorm प्रोजेक्ट को कॉन्फ़िगर कैसे करें ताकि जेएस कोड इंटेलिजेंस नोड.जेएस परियोजनाओं के लिए अच्छी तरह से काम करे?

तो "सही" जिस तरह से WebStorm में इस दृष्टिकोण क्या है? क्या मुझे केवल node_modules से कुछ फ़ाइलों को शामिल करना चाहिए? या वहां से सबकुछ बाहर कर दें और किसी भी तरह परियोजना या वैश्विक पुस्तकालयों की अवधारणा का उपयोग करें?

धन्यवाद।

उत्तर

4

यह WebStorm 7 में तय किया गया है, http://youtrack.jetbrains.com/issue/WEB-1927 देखते हैं।

+0

ध्यान दें कि वेबस्टॉर्म 7 ईएपी में इसका परीक्षण करने के बाद, मैंने पाया कि यह काम नहीं करता है। मैंने दायर [एक बग रिपोर्ट] (http://youtrack.jetbrains.com/issue/WEB-8926) और जेटब्रेन का कहना है कि यह वेबस्टॉर्म 7 ईएपी बिल्ड 130.1710 के साथ काम करेगा। –

+0

मेरी प्रतिलिपि में भी ठीक नहीं है। – Shane

2

दुर्भाग्य से वहाँ कोई आसान "सही" तरीका है। आप सभी node_modules निर्देशिकाओं को बाहर कर सकते हैं जो शीर्ष स्तर node_modules निर्देशिका के अंदर स्थित हैं। यह पूरा करने के लिए बेहतर होगा, लेकिन आदर्श नहीं है।
आगे की चर्चा यहां है: http://devnet.jetbrains.net/message/5468926

2

आप Node.js एकीकरण के लिए एक प्लगइन डाउनलोड कर सकते हैं: http://plugins.intellij.net/plugin/?webide&pluginId=6098

+0

यह उत्तर है। इवेंट लॉग की जांच करें और यह यह संदेश दिखाएगा: 'Node.js प्रोजेक्ट का पता चला: अपने स्रोतों को निर्भरताओं से अलग करने के लिए, node_modules फ़ोल्डर (बुलून दिखाएं) से" Node.js निर्भरता "जावास्क्रिप्ट लाइब्रेरी बनाएं। – vaughan

+0

यदि आपके पास अभी भी ऐसा ईवेंट नहीं है, तो मैन्युअल रूप से ऐसा किया जाता है: खुली प्राथमिकताएं-> परियोजना सेटिंग्स-> जावास्क्रिप्ट-> पुस्तकालय। "नोड.जेएस ग्लोबल्स" की जांच करें। फिर Node.js ग्लोबल्स को हाइलाइट करें, और "कॉन्फ़िगर करें" पर क्लिक करें। खुलने वाली विंडो में, प्रोजेक्ट सेटिंग्स-> लाइब्रेरीज़ पर क्लिक करें। मध्य खंड के शीर्ष पर + पर क्लिक करें। ड्रॉप डाउन से जावास्क्रिप्ट का चयन करें। Node_modules निर्देशिका में ब्राउज़ करें और इसे चुनें। फिर "जड़ों का चयन करें" विंडो खुलती है। केवल node_modules का चयन करें। यदि आपके node_modules dir में पहले से ही मॉड्यूल हैं, तो आपको उन सभी को मैन्युअल रूप से अचयनित करना होगा। सभी विंडो बंद होने तक ठीक क्लिक करें। –

23

यूआई में ऐसा करने के लिए (PyCharm 2.7.3 से परीक्षण किया है, PhpStorm 6.0.3 में दिखाया गया है परिणाम):

जोड़े जावास्क्रिप्ट पुस्तकालय

Add JavaScript Libraries

फ़ाइल → सेटिंग
(परियोजना सेटिंग्स) → जावास्क्रिप्ट → पुस्तकालय

[जोड़े ...] →

नाम: node_modules
Visiblilty: [x] वर्तमान परियोजना
[संलग्न ...]
{चयन परियोजना के node_modules फ़ोल्डर}

{ बोवर}

एक्सेल Ude फ़ोल्डर परियोजना
Exclude Folder From Project

(परियोजना सेटिंग्स) → परियोजना संरचना से
फ़ोल्डर → पर राइट क्लिक करें [अपवर्जित]

परियोजना की से ऐसा करने के लिए।IML फ़ाइल:
परियोजना की .iml को बदलने के बाद:

<?xml version="1.0" encoding="UTF-8"?> 
<module type="WEB_MODULE" version="4"> 
    <component name="NewModuleRootManager" inherit-compiler-output="true"> 
    <exclude-output /> 
    <content url="file://$MODULE_DIR$"> 
     <excludeFolder url="file://$MODULE_DIR$/bower_components" /> 
     <excludeFolder url="file://$MODULE_DIR$/node_modules" /> 
    </content> 
    <orderEntry type="inheritedJdk" /> 
    <orderEntry type="sourceFolder" forTests="false" /> 
    <orderEntry type="library" name="node_modules" level="application" /> 
    <orderEntry type="library" name="bower_components" level="application" /> 
    </component> 
</module> 

node_modules और bower_components बाहर करते हैं, लेकिन उन्हें पूरा करने और पुस्तकालय खोज

PyCharm, IntelliJ में परीक्षण किया गया के लिए उपलब्ध बनाने के लिए संपादक के कारण, और WebStorm।