2014-09-18 18 views
8

Tôi có một dự án mà tôi sử dụng nút-webkit. node-webkit cho phép các gói npm được sử dụng để phát triển các ứng dụng máy tính để bàn. Tôi sử dụng grunt để xây dựng ứng dụng của mình.Phụ thuộc Node.js npm trong thư mục con

cấu trúc thư mục của tôi trông như thế này vào lúc này:

project root 
    node_modules/ (1) 
    package.json (1) 
    App/ 
     node_modules/ (2) 
     package.json (2) 
     bower.json 
     bower_components/ 
     ... 
     controllers/ 
     filters/ 
     ... 
     app.js 

Các phụ thuộc NPM cho bản thân ứng dụng được lưu giữ trong thư mục App, nhưng dev phụ thuộc cho xây dựng dự án không liên quan với mã nguồn ứng dụng, vì vậy tôi giữ chúng trong node_modules (1) bên trong thư mục gốc. Tôi cũng biết rằng trong một tệp package.json, một tệp có thể thể hiện các phụ thuộc và dev các phụ thuộc, chính xác vì lý do này. Tôi thà có một tệp package.json trong thư mục gốc thể hiện tất cả các phụ thuộc, bao gồm các phụ thuộc dev, nhưng tôi muốn có một sự tách biệt các phụ thuộc đó ở cấp thư mục.

Hai câu hỏi nảy sinh:

  1. Đây có phải là một cách tốt để tổ chức phụ thuộc NPM của tôi? Nếu có, tuyệt vời? Nếu không, điều tôi mong đợi:

  2. Một cách tốt hơn để tổ chức phụ thuộc của tôi là gì? Có thể chỉ định rằng các phụ thuộc dev phụ thuộc vào thư mục a và phụ thuộc 'thông thường' đi vào thư mục b? Nếu vậy, làm thế nào để làm điều này?

Trong trường hợp bất cứ ai đang tự hỏi, đây là dự án tôi đang nói về:

https://github.com/michahell/pinbored-webkit

[cấu trúc thư mục được cập nhật để bao gồm app.js cho rõ ràng]

+0

Tại sao cảm ơn bạn đã chỉnh sửa câu hỏi của mình quá nhanh @marc_s! –

+0

Hầu hết công việc đã được xử lý bởi @mscdex - anh ta có 'dependency' (thay vì' dependancy') cố định trước khi tôi có thể ... –

+0

I * &% $ allways viết rằng (và một số thứ khác) sai. Sẽ xem ra cho nó :) –

Trả lời

-3

@ Michael package.json tệp chứa tất cả các phụ thuộc liên quan đến dự án đó. Không cần nhiều tệp gói và nhiều thư mục node_modules s .. Nhưng bạn cần kiểm tra tệp App.js của bạn ở đâu !! App.js của bạn, package.json phải nằm trong cùng một thư mục trừ khi được định cấu hình.

+0

Cảm ơn, @anirudh, tôi đã cập nhật câu hỏi của tôi theo câu trả lời của bạn. App.js của tôi nằm trong thư mục/App và tôi muốn giữ nó theo cách đó, tất cả các công cụ ứng dụng cụ thể đều nằm trong thư mục/App của tôi! –

+0

@Michael tôi nghĩ bạn không cần gói bên ngoài.json và thư mục node_module bên ngoài bây giờ !! :) –

+0

tôi cần điều đó bởi vì tôi đang xây dựng ứng dụng nút-webkit của tôi với Grunt, và grunt cần npm dependancies (dev dependancies trong trường hợp của tôi). –

Các vấn đề liên quan