Bạn hoàn toàn có thể chia sẻ thư mục node_modules giữa các dự án.
Từ tài liệu của nút :
Nếu từ định danh mô-đun được chuyển đến request () không phải là mô-đun gốc và không bắt đầu bằng '/', '../' hoặc './', thì nút bắt đầu tại thư mục mẹ của mô-đun hiện tại và thêm / node_modules và cố gắng tải mô-đun từ vị trí đó.
Nếu nó không được tìm thấy ở đó, thì nó sẽ di chuyển đến thư mục mẹ, và cứ tiếp tục như vậy, cho đến khi đạt đến thư mục gốc của hệ thống tệp.
Ví dụ: nếu tệp tại '/home/ry/projects/foo.js' được gọi là request ('bar.js'), thì nút sẽ tìm ở các vị trí sau, theo thứ tự sau:
/home/ry/projects/node_modules/bar.js /home/ry/node_modules/bar.js /home/node_modules/bar.js /node_modules/bar.js
Vì vậy, chỉ cần đặt một thư mục node_modules bên trong thư mục dự án của bạn và đặt bất kỳ mô-đun nào bạn muốn. Chỉ cần yêu cầu họ như bình thường. Khi nút không tìm thấy thư mục node_modules trong thư mục dự án của bạn, nó sẽ tự động kiểm tra thư mục mẹ. Vì vậy, hãy tạo cấu trúc thư mục của bạn như sau:
-myProjects
--node_modules
--myproject1
---sub-project
--myproject2
Vì vậy, như thế này, ngay cả các phụ thuộc của dự án con của bạn cũng có thể lấy trên kho lưu trữ node_modules chính của bạn.
Một hạn chế khi làm theo cách này là bạn sẽ phải tạo tệp package.json của mình theo cách thủ công (trừ khi ai đó biết cách tự động hóa việc này bằng grunt hoặc một cái gì đó). Khi bạn cài đặt các gói của mình và thêm --save đối số vào một npm install
lệnh, nó sẽ tự động thêm nó vào phần phụ thuộc hoặc package.json của bạn, điều này rất tiện lợi.
require
mô-đun d. Nếu không, không, không cónode_modules
thư mục "trung tâm" chính thức để sử dụngrequire()
.