Nodemon के साथ आरंभ स्क्रिप्ट को कैसे निष्पादित करें


92

मैं Nodemon के साथ एक पैकेज .json फ़ाइल से आरंभ स्क्रिप्ट को कैसे निष्पादित कर सकता हूं ?


आपको यकीन है कि आप package.json से एक स्टार्ट स्क्रिप्ट निष्पादित कर सकते हैं? क्योंकि जो मैं जानता हूं कि पैकेज से। अपनी सभी निर्भरता को सूचीबद्ध करना है और अपनी प्रक्रिया को चालू रखना है। मुझे पूरा यकीन नहीं है कि आप यहाँ क्या कर रहे हैं?
सरस आर्य

जवाबों:


142

यह इसके लिए एक साधारण आदेश होगा

nodemon --exec npm start

क्या होगा अगर मुझे ऐप चलाए बिना केवल परीक्षण चलाने की आवश्यकता है? आप समाधान दोनों चलाते हैं।
सर्गेई

1
यह चलता है npm startलेकिन मेरे लिए नोड सर्वर शुरू नहीं करता है .. यह कैसे पता चलेगा कि server.js कहाँ है?
सोनिक सोल

41

पैकेज जसन में:

{
  "name": "abc",
  "version": "0.0.1",
  "description": "my server",
  "scripts": {
    "start": "nodemon my_file.js"
  },
  "devDependencies": {
    "nodemon": "~1.3.8",
  },
  "dependencies": {

  }
}

फिर टर्मिनल से आप उपयोग कर सकते हैं npm start

नोडोमन इंस्टॉलेशन: https://www.npmjs.com/package/nodemon


1
क्षमा करें, प्रारंभ स्क्रिप्ट को नोडम के साथ निष्पादित करने का एक तरीका खोज रहा है, प्रारंभ स्क्रिप्ट में नोडोड निष्पादित नहीं करता है। क्षमा करें यदि वह स्पष्ट नहीं था।
Citronen

6
npm startनोडमोन की कमी के लिए उत्पादन में असफल नहीं होंगे?
ripper234

2
npm run startनहींnpm start
एम। धौड़ी

1
मैं npm के साथ एक शुरुआत कर रहा हूँ। मुझे समझ में नहीं आता है कि बॉक्स से बाहर निकोडन का उपयोग करने के दौरान हमें शुरुआत की स्क्रिप्ट को निर्दिष्ट करने की आवश्यकता क्यों है? मैं बस npm के साथ nodemon स्थापित करता हूं और किसी भी स्क्रिप्ट को निर्दिष्ट किए बिना सीधे उपयोग करता हूं और यह पूरी तरह से काम करता है।
होखी तान

@ M.Dhaouadi npm startके लिए एक उपनाम हैnpm run start
जॉर्ज

18

मेरे पास एक टाइपस्क्रिप्ट फ़ाइल है, जिसे "server.ts" कहा जाता है, निम्न एनपीएम स्क्रिप्ट मेरे ऐप को शुरू करने के लिए नोडमॉन और एनपीएम को कॉन्फ़िगर करती है और टाइपस्क्रिप्ट फ़ाइलों पर किसी भी बदलाव के लिए निगरानी करती है:

"start": "nodemon -e ts  --exec \"npm run myapp\"",
"myapp": "tsc -p . && node server.js",

मेरे पास पहले से ही निर्भरताओं पर Nodemon है। जब मैं चलता हूं npm start, तो यह Nodemon को -eस्विच का उपयोग करके अपनी फ़ाइलों की निगरानी करने के लिए कहेगा और फिर यह myappnpm स्क्रिप्ट को कॉल करता है जो टाइपस्क्रिप्ट फ़ाइलों को ट्रांसप्लान करने और फिर परिणामस्वरूप server.js शुरू करने का एक सरल संयोजन है। जब मैं टाइपस्क्रिप्ट फ़ाइल को बदलता हूं, तो -eस्विच के कारण एक ही चक्र होता है और नई .js फाइलें उत्पन्न और निष्पादित हो जाएंगी।


15

मैं अपने Node.js प्रोजेक्ट में Nodemon संस्करण 1.88.3 का उपयोग करता हूं। Nodemon को स्थापित करने के लिए, https://www.npmjs.com/package/nodemon में देखें

अपने पैकेज की जाँच करें। देखें कि क्या "स्क्रिप्ट" इस तरह से बदल गई है:

  "scripts": {
    "dev": "nodemon server.js"
  },

server.jsमेरा फ़ाइल नाम है, आप इस फ़ाइल के लिए किसी अन्य नाम का उपयोग कर सकते हैं app.js

उसके बाद, इसे अपने टर्मिनल पर चलाएँ: npm run dev


8

उपयोग करें -exec:

"your-script-name": "nodemon [options] --exec 'npm start -s'"

क्या ऐसा करने के लिए निष्पादन के अलावा कोई रास्ता नहीं है?
Citronen

बस nodemon [options] --exec 'npm start -s'अगर आप कमांड लाइन से करना चाहते हैं।
नथनहलंग

@AnnoldRoa इसे स्थापित करें।
Константин Ван

5

पहले अपना पैकेज बदलें । Json फ़ाइल,

"scripts":
    { 
        "start": "node ./bin/www",
        "start-dev": "nodemon ./app.js"
    },

उसके बाद, कमांड निष्पादित करें

npm run start-dev

1
लेकिन जब आप भागते हैं तो आप app.jsजो कुछ भी करते हैं उसे दरकिनार कर देते हैं ./bin/www...
जेक विल्सन

1
हर बार यह नया टैब खुला
क्वि-गॉन जिन

5

Package.json फ़ाइल में। फ़ाइल को इस तरह बदलें

"scripts":{ 
   "start": "node ./bin/www", 
   "start-dev": "nodemon ./app.js"
 },

और फिर npm रन स्टार्ट-देव निष्पादित करें


2

Nodemon राज्य में हर परिवर्तन पर घटनाओं का उत्सर्जन करता है; प्रारंभ, क्रैश को पुनः आरंभ करें, आदि। आप एक Nodemon विन्यास फाइल (nodemon.json) जोड़ सकते हैं जैसे:

{
   "events": {
       "start": "npm run *your_file*"
   }
}

Nodemon घटनाओं में अधिक पढ़ें - सर्वर प्रारंभ, पुनरारंभ, क्रैश, निकास पर कार्य चलाएँ


2

यदि विश्व स्तर पर स्थापित है

"scripts": {
    "start": "nodemon FileName.js(server.js)",
},

सुनिश्चित करें कि आपने nodemonविश्व स्तर पर स्थापित किया है:

npm install -g nodemon

अंत में, यदि आप एक Windows उपयोगकर्ता हैं, तो सुनिश्चित करें कि Windows PowerShell का सुरक्षा प्रतिबंध सक्षम है


2

पैकेज में json:

"scripts": {
  "start": "node index",
  "dev": "nodemon index"
},

"devDependencies": {
  "nodemon": "^2.0.2"
}

और विकसित करने के लिए टर्मिनल में:

npm run dev

और सर्वर नियमित शुरू करने के लिए:

npm start

"प्रतिगामी" क्या है ? क्या आपका मतलब "नियमित" है ?
पीटर मोर्टेंसन

1

आप लगातार उपयोग के लिए विश्व स्तर पर नोडोडन भी स्थापित कर सकते हैं:

npm i nodemon -g या sudo npm i nodemon -g

फिर अपना पैकेज संपादित करें। Json:

  "scripts": {
    "start": "node index.js",
    "dev": "nodemon index.js"
  },

आम तौर पर, 'देव' विकासात्मक उपयोग ( npm रन देव ) को निर्दिष्ट करता है ।


1

यह आपके Nodemon स्थापना के प्रकारों पर निर्भर करेगा। यदि आप आदेशों ( npm install nodemon --globalया npm install nodemon -g) का उपयोग करके विश्व स्तर पर Nodemon स्थापित करते हैं , तो आपको अपने पैकेज . json फ़ाइल में Nodemon के लिए कोई स्क्रिप्ट निर्दिष्ट करने की आवश्यकता नहीं है । बस निष्पादित कमांड nodemon index.jsआपके प्रोजेक्ट को चलाएगी।

लेकिन यदि आप कमांड द्वारा स्थानीय रूप से Nodemon स्थापित करते हैं npm install nodemonतो आपको स्क्रिप्ट निर्दिष्ट करनी होगी। आप इसे नाम हैं के रूप में शुरू तो npm run startया npm startचलाने के लिए सर्वर ट्रिगर किया जाएगा।

// Absolutely no need for global installation
 "scripts": {
    "start": "nodemon index.js"
  }

1

यदि आपने nodemonविश्व स्तर पर स्थापित किया है, तो बस nodemonअपनी परियोजना में चलने से startस्क्रिप्ट स्वचालित रूप से चलेगी package.json

उदाहरण के लिए:

"scripts": {
  "start": "node src/server.js"
},

से nodemon प्रलेखन :

nodemon भी script.start प्रॉपर्टी के लिए package.json (nodemon 1.1.x के रूप में) में खोजेगा।


-1

वैश्विक स्थापना से बचने के लिए, एक निर्भरता के रूप में Nodemon जोड़ें, फिर ...

package.json

"scripts": {
    "start": "node ./bin/www",
    "start-dev": "./node_modules/nodemon/bin/nodemon.js ./bin/www"
  },

आप अभी भी इसे "स्टार्ट-देव" बना सकते हैं: "nodemon ./bin/www" यदि आप इसे डिडिपेंडेंसी के तहत स्थापित करते हैं
WoLfPwNeR
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.