Tôi đang gặp vấn đề sau sự giới thiệu 'chính thức' để kiểm tra trong tất cả phụ thuộc vào bên ngoài git (điều http://www.mikealrogers.com/posts/nodemodules-in-git.html liên kết FAQ fron)NodeJS và NPM: vấn đề sau đây giới thiệu để kiểm tra các module vào git
thế nào bạn đảm bảo rằng không chỉ phụ thuộc cấp cao nhất được đăng ký? Hầu hết các mô đun npm hiện không tuân theo khuyến nghị. Tất cả đều có node_modules của họ trong .gitignore. Chỉ cần xóa .gitignore của họ có vẻ nguy hiểm.
Đối với mô đun được biên dịch, bài viết đề xuất chỉ đăng ký các nguồn và chạy 'npm rebuild' và triển khai thời gian. Thật không may 'npm rebuild' không thực hiện 'làm sạch' cho tất cả các mô-đun (mặc dù lỗi https://github.com/isaacs/npm/issues/1872 được bao gồm trong phiên bản npm 1.0.106 tôi đang sử dụng). Điều này có nghĩa là tôi phải ngăn các mục tiêu biên dịch không được kiểm tra (nếu không tôi sẽ có mã đối tượng được biên dịch cho máy phát triển trên máy sản xuất mà không bị ghi đè bởi npm rebuild). Nhưng: làm thế nào để tôi làm điều này? Thật không may các mô-đun không có một thư mục đầu ra biên dịch chung, vì vậy chỉ cần git-bỏ qua "node_modules//build" và "/ node_modules//out /" (như đã đề cập trong bài viết này eng.yammer.com/blog/ 2012/1/4/quản lý-nodejs-phụ thuộc-and-triển khai-at-yammer.html sẽ không giúp đỡ trong mọi trường hợp
phiên bản ngắn:. làm thế nào để bạn chắc chắn rằng máy chủ sản xuất sử dụng chính xác cùng một phiên bản của tất cả các mô-đun phụ thuộc khi bạn sử dụng trong quá trình phát triển?
Tôi đã đăng một tập lệnh qua tại http://stackoverflow.com/questions/11351784/npm-clean-modules/13957364#13957364 có thể hữu ích. – theGecko