3 Node.js dự án chính - Khung - Repositories
chính có hai dự án khác kết nối thông qua liên kết NPM.
Trong bài kiểm tra tôi đã bao gồm các yêu cầu trong một phương pháp. Tôi đã có một số vấn đề giải quyết các dự án liên kết (chi tiết xem dưới đây)
đang Giản trông như thế này:
module.export.resolve = function(file){
[...]//Some more logik to handle relative pathes
return require(file)
}
này hoạt động tốt trong hầu hết các tình huống. Tôi cũng đã làm việc ra để xử lý với người thân pathes (nhìn lên cho người gọi và áp dụng pathes dựa trên con đường này)
Bây giờ đây là trong Dự án Khung được liên kết (NPM liên kết) đến Main Project. Dự án chính cũng có Kho dự án được liên kết.
Bây giờ trong Main Project tôi có:
require('ProjectRepositories/foo') // Works as expected
myRequire.resolve('ProjectRepositories/foo') // Returns MODULE_NOT_FOUND "Cannot find module 'ProjectRepositories/foo'
tôi giả sử vấn đề là Repositories Dự án ist không được liên kết trong Khung Dự án. Nhưng có cách nào khác hơn là liên kết chúng?
Tôi muốn có ít sự phụ thuộc hơn. Bất kỳ gợi ý về điều đó?
Nó không hoàn toàn rõ ràng với tôi về cấu trúc của bạn. Bạn có thể làm rõ? Trong khi đó, bạn có biết bạn có thể có ['NODE_PATH'] (https://nodejs.org/api/modules.html#modules_loading_from_the_global_folders) env var không? – gustavohenke
Bạn nói "hoạt động như mong đợi" nhưng bạn không nói những gì nó trả về. Vì vậy, nó có thể trở lại giống nhau. Từ những gì bạn đăng, nó thực hiện chính xác như nhau, ngoại trừ việc bạn đã viết thêm logic mà thực sự có thể làm hỏng những gì yêu cầu nhập khẩu. Nếu bạn thực hiện một hàm resolve2 trả về trực tiếp 'require (file)', nó sẽ hoạt động tốt như lời gọi 'require ('ProjectRepos/foo') trực tiếp của bạn. Sau đó, bạn có thể kết luận rằng logic tùy chỉnh của bạn thực sự là nơi lỗi nằm, tôi đoán. – EricG