Tôi có một ứng dụng nút đơn giản có phụ thuộc duy nhất trên một ứng dụng khác trên github. Sự phụ thuộc cài đặt tốt với npm install
, nhưng khi tôi cố gắng yêu cầu một cái gì đó được cài đặt ở đó, nó nói rằng nó không có sẵn. Ví dụ, ứng dụng github cài đặt Mongoose như một phụ thuộc. Tôi nghĩ rằng ứng dụng của phụ huynh này sẽ có thể truy cập vào module vì nó là trong một đứa trẻ:Yêu cầu sự phụ thuộc của một phụ thuộc khác trong các mô-đun nút
var mongoose = require('mongoose')
Cấu trúc trông giống như sau:
/app
/node_modules
/github_dependency [parent module]
/node_modules
/mongoose [child module]
Tôi chỉ phải bao gồm cầy mangut như một sự phụ thuộc cũng như trong ứng dụng cha mẹ hoặc có cách nào để truy cập vào mô-đun đó theo cách của đứa trẻ không?
Cảm ơn bạn, chúng tôi sẽ theo quy ước này. Một điều tôi đã muốn đề cập đến, điều này về lý thuyết có thể dẫn đến nhiều, phụ thuộc trùng lặp trong dự án? –
Nó có thể, và bạn thường sẽ có một số trường hợp của một số mô-đun khác nhau (và phiên bản của chúng) trong một dự án nút. Đó là một trong những thế mạnh của npm IMO, đã dành một phần đáng kể của những năm 00 làm việc ra kinks trong bộ nạp lớp của các thùng chứa Java khác nhau ... –
Có một lý do rất tốt để sử dụng kỹ thuật này. Nếu bạn yêu cầu ('github/node_modules/mongoose'), bạn đang sử dụng cùng một thể hiện của mongoose mà github đang sử dụng, vì vậy bạn chia sẻ hồ bơi kết nối của nó. Kỹ thuật này cũng hữu ích để đảm bảo bạn đang sử dụng cùng một phiên bản. –