Làm cách nào để chạy gật đầu từ bên trong WebStorm?


84

Tôi muốn sử dụng gật đầu từ bên trong IDE WebStorm (phiên bản 7). Nodemon xem một hoặc nhiều tệp trong thư mục nguồn của tôi và khởi động lại quá trình nút (trong trường hợp này là máy chủ Express), khi một trong các tệp nguồn thay đổi.

Làm cách nào để định cấu hình WebStorm để sử dụng nút bấm trong Cấu hình Chạy , để quá trình nút được tự động khởi động lại?

Nếu không có gật đầu , tôi sử dụng cấu hình sau trong WebStorm, nhưng phải khởi động lại quá trình nút bất cứ khi nào tôi thay đổi điều gì đó trong tệp nguồn:

  • Trình thông dịch nút: /usr/local/bin/node
  • Thư mục làm việc: /Users/foo/test
  • Tệp JavaScript: server.js

Điều này dẫn đến cấu hình Run chạy node server.jstrong thư mục được chỉ định.

Từ dòng lệnh, tôi có thể sử dụng lệnh sau để sử dụng gật đầu để theo dõi các thay đổi của tệp: nodemon server.jstrong thư mục dự án.

Làm cách nào để thay đổi cấu hình WebStorm để nó cũng sử dụng gật đầu ?


Câu hỏi này có vẻ là những đường lối cũ: stackoverflow.com/questions/11175041/...
nwinkler

Xem câu trả lời của tôi stackoverflow.com/a/52463378/7350853 đang sử dụng phiên bản cập nhật nhất của Webstorm cho đến nay.
iwaduarte

Câu trả lời:


143

Có vẻ như giải pháp thay thế với --execkhông còn cần thiết nữa, ít nhất là khi sử dụng phiên bản mới nhất của gật đầu và Webstorm 7 hoặc 8.

Tất cả những gì bạn phải làm là chỉ định đường dẫn của bạn đến gật đầu bằng cách lấy đường dẫn của nó khi chạy which nodemontrong bảng điều khiển của bạn (ví dụ /usr/local/bin/nodemon) trong "Tham số nút":

Webstorm với gật đầu

@Bela Clark, cảm ơn bạn đã xác nhận.


Chỉ cần thử cái này - hiện tại nó hoạt động hoàn toàn tốt. Cảm ơn bạn đã cung cấp câu trả lời cập nhật!
nwinkler

8
@bernhardw, webstorm không dừng lại ở các điểm ngắt khi khởi động trình gỡ lỗi với các cấu hình này. Bất kỳ ý tưởng tại sao?
Nik Sumeiko,

4
Quản lý để get nodemon và breakpoint làm việc bằng cách làm theo hướng dẫn sau: vcfvct.wordpress.com/2015/02/13/... Lưu ý rằng tôi đã sử dụng --debug-brk thay vì --debug
n00b

1
Để thực hiện công việc gỡ lỗi, tôi phải sử dụng cắm Live Edit cho IntelliJ thay vì gật đầu.
engin

1
Câu trả lời tốt ! Cảm ơn bạn
Julien

33

Đây là giải pháp Windows

Bạn chỉ có thể sử dụng gật đầu.cmd thay vì nút trực tiếp như:

Node interpreter : C:\MyPath\To\nodemon.cmd
Node parameters : /*Empty for me*/
Node WorkingDirectoy : C:\Users\MyUserName\Desktop\DirectoryContainingMyIndex.js
JavaScriptFile : app\index.js /*or just index.js depending on your config*/

và sau đó :

nhập mô tả hình ảnh ở đây

Hy vọng nó sẽ giúp ích cho bạn.


Tôi nghĩ đây là câu trả lời thẳng thắn nhất.
Paul Wade

6
Xin chào, Đã thử điều này và khi tôi thay đổi tệp, nó sẽ hỏi tôi (trong bảng điều khiển Web Storm) "Chấm dứt công việc hàng loạt (Y / N)?". Tôi cũng thấy rằng lệnh đang được thực thi là: "C: \ Program Files (x86) \ JetBrains \ WebStorm 8.0.4 \ bin \ runnerw.exe" C: \ Users \ xyz \ AppData \ Roaming \ npm \ subsemon.cmd - -debug-brk = 27344 --nolazy -q app.js. Tôi có thiếu gì không?
Tomer Cagan

1
đối với vấn đề "chấm dứt công việc hàng loạt" chỉ cần thêm "<nul" (bỏ qua các trích dẫn) vào đầu vào "Thông số ứng dụng". (câu trả lời được tìm thấy ở đây: superuser.com/a/498798 )
Tobias Weichart vào

Tại sao điều này được ủng hộ? Nó sẽ không hoạt động, khi khởi động lại gật đầu, nó không thêm "<nul" từ lần bắt đầu ban đầu, vì vậy bạn vẫn nhận được "Chấm dứt công việc hàng loạt (Y / N)?"
KVM

18

Để cài đặt gật đầu , hãy sử dụng cách sau (nếu cần, sử dụng sudo để chạy cài đặt với đặc quyền root:

npm install -g nodemon

Thao tác này sẽ cài đặt gật đầu trên toàn cầu trên máy của bạn.

Sau đó, trong Cấu hình Chạy WebStorm của bạn , thêm phần sau, giữ nguyên mọi thứ khác:

  • Thông số nút: /usr/local/bin/nodemon --exec /usr/local/bin/node

Điều này sẽ hướng dẫn người phiên dịch nút để thực hiện nodemonkịch bản bằng cách sử dụng dòng lệnh sau: node /usr/local/bin/nodemon --exec /usr/local/bin/node server.js.

Phần --execnày rất quan trọng, vì quá trình thực thi sẽ không thành công với lỗi sau:

/usr/local/bin/node /usr/local/bin/nodemon server.js
4 Oct 13:56:50 - [nodemon] v0.7.10
4 Oct 13:56:50 - [nodemon] to restart at any time, enter `rs`
4 Oct 13:56:50 - [nodemon] watching: /Users/foo/test
execvp(): No such file or directory
4 Oct 13:56:50 - [nodemon] starting `node server.js`
4 Oct 13:56:50 - [nodemon] exception in nodemon killing node
Error: spawn ENOENT
    at errnoException (child_process.js:980:11)
    at Process.ChildProcess._handle.onexit (child_process.js:771:34)

Lỗi dường như do WebStorm không nhìn thấy nodetệp thực thi trên đường dẫn của nó.

Cách khắc phục cho điều này là chỉ định vị trí cho nodetệp thực thi bằng cách sử dụng --exec /usr/local/bin/nodetham số.

Sử dụng các cài đặt này, gật đầu hoạt động tốt khi chạy từ Cấu hình Chạy WebStorm .

Thủ thuật tương tự có thể phải được sử dụng với một số công cụ tương tự như nodeemon , ví dụ: node-supervisor .


1
Điều này hoạt động với Chạy cấu hình, nhưng không hoạt động với Gỡ lỗi. Bất kỳ ý tưởng nào để gỡ lỗi cũng như với gật đầu trong webstorm?
yves amsellem

3
Ít nhất với Webstorm 8 EAP và gật đầu 1.0.15, bạn không phải chỉ định --execnữa. Tất cả những gì tôi phải làm là sử dụng /usr/local/bin/nodemon"Tham số nút".
bernhardw

@bernhardw: Tôi có thể xác nhận điều tương tự
Bala Clark

18

Tôi đang sử dụng Windows và đối với tôi không làm việc với gật đầu (không hiểu tại sao), nhưng ai đó từ Jetbrains đã đề xuất thử với người giám sát:

  1. Tôi đã cài đặt người giám sát: npm install supervisor -g

  2. Sau đó, tìm nơi được supervisorcài đặt, đối với tôi đã ở trong: C:\Users\AlinC\AppData\Roaming\npm\node_modules\supervisor\lib\cli-wrapper.js –no-restart-on error

  3. Tôi quay lại Intellij: chỉnh sửa cấu hình -> tham số nút -> và thêm: C: \ Users \ AlinC \ AppData \ Roaming \ npm \ node_modules \ supervisor \ lib \ cli-wrapper.js –no-restart-on error

chỉnh sửa cấu hình

thông số nút


1
Để dừng lại trên breakpoint bạn nên thêm này: --debug-brkvà đầy đủ chuỗi là C:\Users\<username>\AppData\Roaming\npm\node_modules\supervisor\lib\cli-wrapper.js no-restart-on error --debug-brktra từ JetBrains jetbrains.com/phpstorm/webhelp/... địa chỉ
uzay95

1
Không thể lấy nodemon làm việc trên Windows 8 với Webstorm 9, điều này làm việc như một say mê tho
Simon Trewhella

1
Hoạt động với tôi (Webstorm 11 trên Windows) nhưng các điểm ngắt không hoạt động. Tôi đã thử thêm --debug-brknhưng không may mắn.
điện tử vào


14

Đối với những người quan tâm đến giải pháp trong Windows 10, đây là cấu hình của tôi. Nó không hiển thị điều "Chấm dứt hàng loạt" và hoạt động hoàn hảo.

nhập mô tả hình ảnh ở đây

Bạn nhấn gỡ lỗi MỘT LẦN và bạn có thể lưu các tệp thay đổi bất cứ thứ gì và máy chủ sẽ khởi động lại ở chế độ gỡ lỗi. Tất cả các điểm hãm hoạt động hoàn hảo


đây là câu trả lời làm việc để gỡ lỗi. Tôi chỉ đặt các thông số nút. thông số nút dưới dạng văn bản (thay đổi tên người dùng): c: \ users \ username \ AppData \ Roaming \ NPM \ node_modules \ nodemon \ bin \ nodemon.js --debug = 3001
Alexey Obukhov

Điều này không hiệu quả với tôi. Việc thêm thông số --debug = 3001 đã bị lỗi nút
JCF

Cảm ơn. Chạy cơ bản đang hoạt động và cũng gỡ lỗi mà không có bất kỳ vấn đề nào! Đây sẽ là câu trả lời HÀNG ĐẦU!
Georgi Peev

8

Đối với cửa sổ người dùng đặt:

Trình thông dịch nút: Đường dẫn của node.exe tức là c: \ program files \ node \ node.exe

Tham số nút: C: \ Users \ YOURUSER \ AppData \ Roaming \ npm \ node_modules \ nodeemon \ bin \ subsemon.js


Điều này đã làm việc cho tôi! Gỡ lỗi và điểm ngắt hoạt động hoàn hảo. Phiên bản nút 10.15.1 Node phiên bản 1.18.10 Webstorm 2018.3.5
JCF

5

Bạn cũng có thể làm cho nó hoạt động với nvm và gỡ lỗi vẫn hoạt động.

Đã thử nghiệm với Node.js 8.1.0 và Webstorm 2017.2

Trước tiên, hãy đảm bảo rằng bạn đang sử dụng phiên bản phù hợp (trong trường hợp của tôi là v8.1.0) và cài đặt gật đầu trên toàn cầu -

nvm use v8.1.0
npm install -g nodemon

Sau đó, mở cấu hình Chạy / Gỡ lỗi và tạo một cấu hình mới với trình thông dịch nút chính xác.

Tham số nút phải là:

MAC

/Users/[YOUR_USER]/.nvm/versions/node/v8.1.0/bin/nodemon --inspect=3001

LINUX

/usr/local/nvm/versions/node/v8.1.0/bin/nodemon --inspect=3001

Lưu và gỡ lỗi hiệu chuẩn lại :)

Node.js Node.js Nodeemon webstorm debug


4

Đây là cấu hình phù hợp với tôi trên Windows 7 + WebStorm 8.0.4. Nếu tôi đặt gật gù.cmd làm trình thông dịch nút, tôi vẫn nhận được "Chấm dứt công việc hàng loạt (Y / N)?".

Nodemon + Webstorm trên Windows


xem câu trả lời của tôi về câu hỏi này trên Windows, tôi nghĩ bạn đã được trỏ đến file nodemon.cmd sai
Alexander Mills

3

Trong trường hợp bạn đã cài đặt gật đầu như một thư viện toàn cầu, chỉ cần đặt các tham số nút:

C: \ Users \ $ {yourUser} \ AppData \ Roaming \ npm \ node_modules \ gật gù \ bin \ gật đầu.

gật đầu trong webstorm


Hoạt động như một sự quyến rũ thông qua nvm và npm 14.7.0
Eugene Zalivadnyi

2

Đây là điều duy nhất phù hợp với tôi:

  1. Thêm một lệnh script chạy nút package.json mới:

nhập mô tả hình ảnh ở đây

  1. Tạo CONFIG NPM (không phải cấu hình nút)
  2. Chọn "start-watch" làm lệnh

nhập mô tả hình ảnh ở đây

Đối với tôi, điều này hoạt động để gỡ lỗi / điểm ngắt mà không có vấn đề hoặc đau đầu bổ sung.


1

một số câu trả lời này dường như chỉ hoạt động với Mac. Đối với Windows, cấu hình này dường như hoạt động (tên người dùng của tôi trên Windows 7 là denman).

nhập mô tả hình ảnh ở đây

main.js là tệp điểm khởi đầu cho ứng dụng Express của tôi.


0
  1. Thực hiện cài đặt npm gật gù -g
  2. Trong trường hợp của tôi, chỉ thay đổi Đường dẫn đến Nút thành gật gù.cmd (C: \ Users \ Rohit Taneja \ AppData \ Roaming \ npm \ gật đầu.

  3. Bạn tốt để đi


0

Theo nhận xét của @bernhardw, vì đây là câu trả lời cho tôi -

Tất cả những gì cần thiết là /usr/local/bin/nodemontrong node parameters Works for run và debug khi nó khởi động lại khi có thay đổi, nhưng gỡ lỗi bằng breakpoint không hoạt động.

Phần thưởng: add -e để có thêm phần mở rộng, ví dụ: /usr/local/bin/nodemon -e js,html,jade

(osx 10.10.5, rubymine 7.1.4)

HTH


0

npm install -g gật đầu

1* goto run->Edit Configurations->Press'+' at left corner and choose Node.js

2* Select Node.js and Press '+' 

3* Name as Nodemon, add path in javaScript file: C:\Users\Your_User_Name\AppData\Roaming\npm\node_modules\nodemon\bin\nodemon.js

4* Click Apply and Ok

5* Run the Nodemon

nhập mô tả hình ảnh ở đâynhập mô tả hình ảnh ở đây


0

Tập lệnh trong package.json: "start": "gật gù --inspect -r babel-register src",

Ảnh đầu tiên: Chạy gỡ lỗi và nó sẽ bắt đầu

Ảnh thứ hai: đính kèm vào nút đang chạy hiện có Cài đặt nhập mô tả hình ảnh ở đây


0

Đây là bản sửa lỗi cho một lỗi tôi gặp phải ...

Nếu bạn đang sử dụng nút Windows + NodeJS +. Với cấu hình IntelliJ - Run.

ERROR: starting inspector on failed: address already in use

Khi tôi sử dụng phiên bản gật đầu 1.19.1, tôi gặp lỗi. Khi tôi sử dụng phiên bản gật đầu 1.18.11, nó hoạt động!

Chúc may mắn...


0

Chỉ cần thêm tập lệnh mới vào package.jsonnút có tên (hoặc chọn tên của riêng bạn)

"scripts": {
  ...
  "nodemon": "nodemon ./bin/www"
}

Sau đó vào Run / Debug Configuration và thêm cấu hình npm . Bộ

  • Lệnh " chạy "
  • Tập lệnh thành " gật đầu " (tên bạn đã chọn trong package.json)

thí dụ


0

Tôi có một bản phát triển trong mac và như OdkoPP cho biết tôi đã làm cho nó hoạt động

"scripts": {
"build": "tsc",
"dev": "nodemon src/index.ts --exec ts-node"
},

Cấu hình Chạy / Gỡ lỗi npm: Chạy / gỡ lỗi cấu hình npm

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.