Khác với việc lấy tệp package.json
tại gốc dự án là có cách xác định danh sách phụ thuộc của ứng dụng node.js đang chạy không? Nút có giữ thông tin meta này có sẵn dưới dạng một số var trong không gian tên chung không?Xác định mô-đun NPM được sử dụng từ một ứng dụng node.js đang chạy
Trả lời
Nếu bạn chỉ là tìm kiếm các gói NPM hiện được cài đặt trong thư mục ứng dụng, sau đó bạn có thể cài đặt npm gói (npm install -g npm
) và programatically gọi ls
vào danh sách các gói cài đặt và cây phụ thuộc.
Rõ ràng, điều này không ảnh hưởng đến việc các gói đã cài đặt có thực sự là require
'd trong ứng dụng hay không.
Cách sử dụng không được ghi chép đầy đủ nhưng điều này sẽ giúp bạn bắt đầu.
var npm = require('npm');
npm.load(function(err, npm) {
npm.commands.ls([], true, function(err, data, lite) {
console.log(data); //or lite for simplified output
});
});
ví dụ .:
{ dependencies:
{ npm: { version: '1.1.18', dependencies: [Object] },
request: { version: '2.9.202' } } }
Nếu không, tôi tin rằng chỉ có lựa chọn nào khác là nội quan các mô-đun module
để có được thông tin liên quan đến/đường dẫn mô-đun được lưu trữ hiện đang được nạp. Tuy nhiên điều này chắc chắn không có vẻ đã được phát triển như một API công cộng. Tôi không chắc chắn nếu có bất kỳ lựa chọn thay thế như vậy sẽ được quan tâm để nghe nếu có ví dụ
var req = require('request'); // require some module for demo purposes
var m = require('module');
// properties of m contain current loaded module info, e.g. m._cache
Tôi tin rằng bạn có thể sử dụng require-analyzer, trong đó loại công trình theo Isaacs (có thể bỏ lỡ một số). Bạn có thể nghe điều này trong Nodeup's first podcast từ 11:55.
Hoặc bạn có thể thử James node-detective mà có thể sẽ tìm thấy phụ thuộc của bạn tốt hơn (nhưng không phải bằng mã chạy), nhưng vì bản chất động Javascript (12:46).
thám
Tìm tất cả các cuộc gọi đến yêu cầu() không có vấn đề như thế nào điên cuồng lồng sử dụng một đi bộ thích hợp của AST.
PS: để lộ những biến package.json để Node.js bạn có thể sử dụng node-pkginfo
- 1. Xác định tệp đang được sử dụng bởi FileHandler
- 2. Tôi có thể cài đặt gói NPM từ javascript đang chạy trong Node.js không?
- 3. Đóng một ứng dụng đang chạy từ dòng lệnh DOS
- 4. Giữ node.js đang chạy
- 5. xác định xem mã có đang chạy trên thời gian chạy của ứng dụng (Java)
- 6. Xác định xem cổng có đang được sử dụng không?
- 7. Cách tốt nhất để xác định cổng ứng dụng đang sử dụng là gì?
- 8. Cổng được sử dụng khi khởi chạy ứng dụng Node.js với Heroku Foreman
- 9. Nhận dữ liệu được gửi từ ứng dụng AIR trong máy chủ node.js chạy trên Heroku
- 10. Skip "Cài đặt phụ thuộc với NPM" bước khi đẩy một ứng dụng Node.js để Heroku
- 11. Xác định trạng thái ứng dụng khi nhấn nút home hai lần với ứng dụng đang chạy
- 12. Luồng công việc tốt nhất bằng cách sử dụng node.js npm và git
- 13. Xác định tắt máy đang đóng ứng dụng của tôi
- 14. Xác định xem ứng dụng có đang chạy trong xanh hay không
- 15. Xác định ứng dụng metro đang chạy trong tab Windows 8 hoặc Desktop PC
- 16. Sử dụng LESS với node.js
- 17. Xác định xem ứng dụng có đang chạy ở nền trước khi nhận được thông báo trên iOS
- 18. Cách xác định nền tảng nào ứng dụng hiện tại đang chạy trên LibGDX?
- 19. Node.js đang chạy dưới IIS6
- 20. Gửi tin nhắn từ một ứng dụng bàn điều khiển đang chạy đến một ứng dụng khác đang chạy trên bàn điều khiển khác
- 21. Xác định rubygem nào bạn đang sử dụng
- 22. Cách tốt nhất cho ứng dụng WinForms để xác định chính xác hệ điều hành Windows nào đang chạy?
- 23. node.js và ứng dụng web một trang
- 24. Tôi nên xác định ứng dụng khách MySQL của mình ở đâu trong ứng dụng Node.js (Express)?
- 25. Triển khai ứng dụng web vào Tomcat đang chạy
- 26. Chạy một kho lưu trữ jar trong một ứng dụng Java đang chạy
- 27. Làm cách nào để có được ngày trong ứng dụng được chạy bởi node.js?
- 28. Xác định nếu trăn đang được chạy trong Ubuntu Linux
- 29. Đóng gói ứng dụng Node.js làm ứng dụng osx
- 30. Làm thế nào để môđun hóa ứng dụng JSF/Facelets/Spring bằng OSGi?
này trông workable.I'm sẽ để lại những câu hỏi mở để lâu hơn một chút để xem có ai khác có gợi ý . Cảm ơn! – MrEvil
Có thể đáng được yêu cầu trên kênh IRC của node.js cũng như .. http://nodejs.org/community/ –