2016-01-04 14 views
7

क्या मैं अपने जावास्क्रिप्ट को लिंट करने के लिए नोडमन का उपयोग कर सकता हूं? मैं किसी भी निर्माण उपकरण का उपयोग नहीं कर रहा हूँ उदा। गलियारा या कुल्ला और नोड और एनपीएम के उपयोग को अधिकतम करना चाहते हैं।नोडमन का उपयोग करके लिनिंग कैसे करें?

The output from nodemon can be piped। मैं एस्लिंट का उपयोग करके बदली गई फाइल को लिफ्ट करने के लिए इसका उपयोग करना चाहता हूं।

यहाँ मेरी package.json

{ 
 
    "name": "app", 
 
    "version": "0.0.1", 
 
    "private": true, 
 
    "scripts": { 
 
    "start": "nodemon server.js", 
 
    "lint": "eslint" 
 
    }, 
 
    "dependencies": { 
 
    "MD5": "*", 
 
    "clean-css": "*", 
 
    "express": "~4.9.0", 
 
    "express-handlebars": "~2.0.1", 
 
    "express-redis-cache": "*", 
 
    "foundation-sites": "~5.5.3", 
 
    "fs-extra": "~0.8.1", 
 
    "node-rest-client": "~1.5.1", 
 
    "node-sass": "*", 
 
    "path": "*" 
 
    }, 
 
    "devDependencies": { 
 
    "babel-eslint": "^4.1.6", 
 
    "eslint": "^1.10.3", 
 
    "eslint-config-airbnb": "^2.1.1", 
 
    "eslint-config-airbnb-es5": "^1.0.8", 
 
    "eslint-plugin-react": "^3.13.1", 
 
    "nodemon": "~1.8.1", 
 
    "parallelshell": "~2.0.0", 
 
    "watch": "~0.17.1" 
 
    } 
 
}

मैं इस की कोशिश की है। लेकिन यह काम नहीं करता है। यह त्रुटि देता है।

 "scripts": { 
    "start": "nodemon({ script: 'server.js' }).on('restart', function() {console.log('nodemon started');}).on('crash', function() {console.log('script crashed for some reason');});", 
    "lint": "eslint" 
    }, 
+1

क्या कोई विशेष कारण है कि आप अपने टेक्स्ट एडिटर के माध्यम से सीधे प्रोसेस मैनेजर के साथ रनटाइम पर लिनिंग करना चाहते हैं? – Seonixx

उत्तर

20

आप आप कोड को बचाने के रूप में अपने परीक्षण चलाने के लिए nodemon की exec विकल्प का उपयोग कर सकते हैं। यहाँ एक उदाहरण है:

nodemon server.js --exec 'npm run test && node' 

यह npm run test && node server.js चलाने के लिए nodemon कारण होगा, और यह सर्वर शुरू नहीं होगी जब तक सभी परीक्षण सफलतापूर्वक चला है।

+0

यह स्वीकार्य उत्तर क्यों नहीं है मेरे बाहर है। यह वही जवाब है जिसे आप ओपी की तलाश में हैं। – shriek

+0

हालांकि मुझे विंडोज़ पर काम नहीं लग रहा है। – Oskar

-4

लिंटिंग पूरी तरह से एक विकास प्रक्रिया है। Nodemon एक ऐसा उपकरण है जो सर्वर चलाने के लिए उपयोग किया जाता है और बिल्ड टूल्स से कनेक्ट नहीं होता है, लेकिन आपके एप्लिकेशन को चलाने के साथ। इसलिए जवाब "नहीं" है। आपको विकास स्वचालन जैसे ग्रंट, गल्प इत्यादि या सिर्फ शुद्ध एनपीएम स्क्रिप्ट्स (आपके पैकेज.जेसन फ़ाइल में) के लिए उचित टूल का उपयोग करना चाहिए।

यदि आपकी परियोजना जटिल है, तो कई चरणों और बहुत सारे बंडलिंग आदि हैं। हालांकि, केवल लिफ्टिंग के लिए, आप अपने एनपीएम package.json में एक-लाइनर तैयार कर सकते हैं, उदाहरण के लिए मैं स्वचालन उपकरण का उपयोग करने की सलाह दूंगा। इस तरह:

"scripts": { 
    "lint": "eslint --fix src test", 
} 

और फिर इसे कमांड के साथ चलाएं: 'एनपीएम रन लिंट'।

याद रखें कि उचित रूप से कॉन्फ़िगर किए गए .eslintrc फ़ाइल का उपयोग करके, आप कंसोल कमांड द्वारा अपने कोड को दोनों ही लिंट कर सकते हैं, लेकिन संपादकों/आईडीई द्वारा भी (लगभग हर व्यापक रूप से लोकप्रिय आईडीई में एस्लिंट के लिए प्लगइन है)। eslint विन्यस्त और उचित eslintrc फ़ाइल बनाने के बारे

अधिक जानकारी यहां पाया जा सकता है: http://eslint.org/docs/user-guide/configuring

+0

मैं अपनी जावास्क्रिप्ट फ़ाइलों को देखने के लिए विकास में नोडमन का उपयोग कर रहा हूं। मैं इसे उत्पादन में उपयोग नहीं कर रहा हूं और इसे देव-निर्भरताओं में सूचीबद्ध किया गया है। मुझे लगता है कि यह nodemon का सही उपयोग है और चूंकि यह मेरे ऐप में सभी जावास्क्रिप्ट फ़ाइलों को देखता है, मुझे लगता है कि यह सही तरीके से लिख रहा है या नहीं, यह निगरानी करने के लिए इसका उपयोग करने का एक तरीका होना चाहिए। यही कारण है कि मैं इसे लिफ्टिंग के लिए विस्तारित करना चाहता हूं। – DrEarnest

+1

मैंने अपने उत्तर को और अधिक उचित होने के लिए परिष्कृत किया :) मुख्य नोडमोन उपयोग सर्वर के विकास के दौरान बदलते समय सर्वर को चलाने/पुनरारंभ करना है, लेकिन इमारत के लिए नहीं।यदि आप केवल एस्लिंटर से कंसोल (मेरी राय में थोड़ा अव्यवहारिक) से आउटपुट जोड़ना चाहते हैं, तो आप शायद nodemon config फ़ाइल में 'ईवेंट पुनरारंभ करें' कॉन्फ़िगर ध्वज का उपयोग कर सकते हैं और वहां एस्लिंट जोड़ सकते हैं। – SzybkiSasza

+0

आप आम तौर पर जो भी करने के लिए नोडमोन का उपयोग कर रहे हैं, वही करने के लिए आप गड़बड़ी या गल्प घड़ी की तरह कुछ भी उपयोग करेंगे। इसके अलावा आपको अपने फ़ाइलों को स्वचालित रूप से संपीड़ित करने, आवश्यक संपत्तियों को डाउनलोड करने, अपनी फ़ाइलों को लिंट करने, आदि –

3

मैं लिनटिंग के लिए Standard.js का उपयोग करता हूं और मैं इसे package.json स्क्रिप्ट का उपयोग करके nodemon के साथ काम करने के लिए प्राप्त कर सकता हूं।

"scripts": { 
    "lint": "standard", 
    "dev": "nodemon ./app --exec \"npm run lint && node\"" 
    "start": "nodemon ./app" 
}

जब मैं npm run dev चलाने के लिए, किसी भी परिवर्तन मैं बनाने और निगरानी की linted कर दिया जाएगा। मैंने Windows में PowerShell का उपयोग करके इसका परीक्षण किया।

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