Làm cách nào để gỡ lỗi tác vụ gulp được xác định trong gulpfile.js
của tôi bằng trình gỡ lỗi như trình gỡ lỗi Google Chrome, bước qua dòng mã của công việc theo dòng?Làm thế nào để gỡ lỗi một nhiệm vụ Gulp?
Trả lời
Với Node.js phiên bản 6.3+ gỡ lỗi đã được thực hiện đơn giản hơn nhiều với việc sử dụng --inspect
flag.
Để gỡ lỗi một nhiệm vụ ngụm tên build
:
Tìm ra nơi cuộc sống ngụm thực thi của bạn. Nếu gói gulp được cài đặt cục bộ, giá trị này sẽ là
node_modules/.bin/gulp
. Nếu không, trong một thiết bị đầu cuối, hãy chạywhich gulp
trên Linux/Mac hoặcwhere gulp
trên Windows để tìm.Chạy
node --inspect --debug-brk ./node_modules/.bin/gulp build
. Nếu được yêu cầu, hãy thay thế./node_modules/.bin/gulp
bằng đường dẫn đến cài đặt gói gulp của bạn.Sử dụng Chrome để duyệt tới URL được in trên bảng điều khiển. Có vẻ như
chrome-devtools://devtools/remote/serve_file/@xxxxxxxxx/inspector.html?experiments=true&v8only=true&ws=127.0.0.1:9229/xxx-xxx-xxx
.
Cờ --debug-brk
được sử dụng để tạm dừng thực thi mã ngay lập tức. Điều này cho phép bạn mở trình duyệt và thiết lập các điểm ngắt trước khi tác vụ kết thúc.
Bạn cũng có thể cài đặt tiện ích mở rộng Node.js Inspector Manager (NIM) dành cho Chrome để trợ giúp với bước 3. Thao tác này sẽ tự động mở tab Chrome với trình gỡ lỗi sẵn sàng sử dụng, thay thế cho việc sao chép và dán URL từ thiết bị đầu cuối.
Nếu bạn đang sử dụng gulp-nodemon, bạn có thể làm điều này trong gulpfile của bạn. Chỉ cần vượt qua tùy chọn execMap:
gulp.task('default', function() {
nodemon({
script: 'server.js',
ext: 'js',
execMap: {
js: "node --inspect"
}
})
}
Hy vọng điều này sẽ hữu ích.
Cảm ơn user2943490, trên Windows tôi thấy phiên bản này làm việc cho tôi:
node --inspect --debug-brk ./node_modules/gulp/bin/gulp.js --verbose
Đối với bất cứ ai sử dụng VS Mã 1.10+
- Mở bảng gỡ lỗi.
- Nhấp vào biểu tượng cài đặt.
- Nhấp vào Thêm cấu hình.
- Chọn Node.js: Gulp Task.
Đây là cách tệp launch.json của bạn nên xem xét.
{ // Use IntelliSense to learn about possible attributes. // Hover to view descriptions of existing attributes. // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ { "type": "node", "request": "launch", "name": "Gulp task", "program": "${workspaceFolder}/node_modules/gulp/bin/gulp.js", "args": [ "yourGulpTaskName" ] } ] }
- 1. Làm thế nào để gỡ lỗi Javascript trong webstorm khi gulp đang phục vụ ứng dụng
- 2. Độc đáo ném một lỗi trong nhiệm vụ gulp
- 3. Làm thế nào để đường ống đến một nhiệm vụ khác trong Gulp?
- 4. Làm thế nào để gỡ lỗi các tập tin và nhiệm vụ gradle studio android?
- 5. Làm thế nào để tăng số phiên bản thông qua nhiệm vụ Gulp?
- 6. Làm thế nào để bắt đầu nhiệm vụ Gulp với params?
- 7. Lỗi Gulp và run-sequence: Tác vụ không được cấu hình như một nhiệm vụ trên gulp
- 8. Ruby on Rails: gỡ lỗi nhiệm vụ cào
- 9. Gulp lỗi: xem nhiệm vụ có phải là một chức năng
- 10. Gulp: chạy nhiệm vụ không có điểm đến
- 11. Nhiệm vụ xóa bài tập gỡ lỗi trong IntelliJ
- 12. Gulp Git chạy nhiệm vụ cam kết đầu tiên sau đó đẩy nhiệm vụ
- 13. Nhiệm vụ gulp không thể tìm thấy karma.conf.js
- 14. Làm thế nào để thực hiện nhiệm vụ cần tây từ bên trong nhiệm vụ?
- 15. gulp: chức năng gọi lại nhiệm vụ gulp được định nghĩa ở đâu?
- 16. GenerateOfficeAddInManifest lỗi nhiệm vụ
- 17. Làm cách nào để gọi một nhiệm vụ khác từ nhiệm vụ SBT của tôi?
- 18. URL proxy không hoạt động với nhiệm vụ BrowserSync Gulp
- 19. Làm thế nào để cấu hình nhiệm vụ Rake?
- 20. Làm thế nào để đảm bảo một nhiệm vụ Celery là ngăn chặn thực thi nhiệm vụ Celery chồng chéo
- 21. Làm thế nào để Gỡ lỗi ClojureScript
- 22. Làm cách nào để gỡ lỗi dịch vụ WCF?
- 23. Bỏ qua một nhiệm vụ khi chạy một nhiệm vụ
- 24. Làm thế nào để gỡ lỗi một Tuyên bố LINQ
- 25. Làm thế nào để gỡ lỗi một Unity Container "Resolve"?
- 26. Làm thế nào để gỡ lỗi một StackOverflowException trong .NET
- 27. .NET - Làm thế nào để gỡ lỗi một DLL?
- 28. Làm thế nào để gỡ lỗi lỗi yêu cầu ajax?
- 29. gulp-jshint: Làm thế nào để không xây dựng?
- 30. Làm thế nào để chạy các tác vụ gulp tuần tự?
Sau khi nạp, thêm một breakpoint trong gulp.js sau khi 'yêu cầu (env.configPath); '- đó nạp gulpfile của bạn, vì vậy bạn có thể tìm thấy nó trong Nguồn và thêm breakpoint. – TrueWill
Chỉ cần truy cập vào 'chrome: // inspection', bạn không cần biết địa chỉ của công cụ tìm kiếm – Capripot