2013-04-02 36 views
14

Tôi muốn chạy hai ứng dụng Meteor khác nhau trên cùng một máy chủ (trên các cổng khác nhau) nhưng tôi muốn thay đổi thứ gì đó trong các gói lõi của Meteor và tôi muốn một ứng dụng sử dụng gói gốc và ứng dụng kia để sử dụng . Làm thế nào tôi có thể làm điều đó?Làm thế nào để sửa đổi/chỉnh sửa một gói Meteor?

Trả lời

1

Bạn có thể nhận được các tập tin của gói tại repo github: https://github.com/meteor/meteor/tree/master/packages

Fetch các tập tin bạn muốn trừ package.js tập tin và thêm chúng vào dự án của bạn. Lưu ý là bạn cần phải đảm bảo thứ tự tải của họ đôi khi, do đó bạn có thể phải sửa đổi tên tập tin, để có một cái nhìn tại thứ tự tải có một cái nhìn tại package.js. Theo mặc định, các đơn đặt hàng của meteor được lưu trữ theo tên nhưng các gói không nhất thiết phải sử dụng nó.

Bạn có thể tránh đổi tên các tập tin nếu bạn chỉ mod gói và thêm nó trở lại sử dụng meteorite: https://github.com/oortcloud/meteorite

hướng dẫn đầy đủ về cách làm cho một smart.json: https://atmosphere.meteor.com/wtf/package. Nếu bất cứ điều gì tốt đẹp của nó xin vui lòng xem xét thêm nó vào atmosphere quá!

+0

Tôi muốn sửa đổi gói 'tài khoản cơ sở', chỉ một tệp chính xác hơn:' accounts_common.js'. Có tên bộ sưu tập 'users' trên dòng 38 và sau khi tôi thay đổi nó thành' myusers' và đặt tập tin đã thay đổi thành '~/myapp/packages/accounts-base/accounts_common.js' tôi nhận được lỗi sau trong Firebug:' Đã có một bộ sưu tập có tên là 'myusers''. Tôi nghĩ đó là vì xung đột với tệp gốc đang chạy cùng với tệp đã sửa đổi? –

+0

bạn có xóa 'tài khoản cơ bản' bình thường không? Nếu nó xung đột bạn có hai định nghĩa của 'Bộ sưu tập mới (" myusers ")' ở đâu đó – Akshat

+0

Không, tôi đã không xóa 'tài khoản cơ bản' bình thường. Tôi chỉ cần đặt tập tin thay đổi trong một thư mục trống ('~/myapp/packages/accounts-base'), như bạn đã nói với tôi để làm. –

20

Một cắn câu trả lời đơn giản hơn, dựa trên câu trả lời từ here:

  1. Tạo thư mục gói trong vị trí dự án và sự thay đổi của bạn để thư mục đó ('cd yourproject' & & 'mkdir gói' & & 'gói cd ')
  2. Fetch file từ git (' git clone https://github.com/YOUR_PACKAGE_ADDRESS '- bạn cần phải có git installed)
  3. bên trong thư mục gói vời tìm package.js và chỉnh sửa bên trong' Package.des giá trị tên của cribe, ví dụ bằng cách thêm '-manually-modified'
  4. Chỉnh sửa các tệp bạn cần sửa đổi bên trong thư mục gói đã tìm nạp.
  5. Add gói dự án (thiên thạch thêm package-name-tay-sửa đổi)
+0

Tôi có phải chỉnh sửa đường dẫn của gói trong thư mục gói không? – Gobliins

+0

Một cảnh báo về bước 3 (đổi tên gói). Nếu các gói được cài đặt khác phụ thuộc vào gói đang được sửa đổi, việc đổi tên sẽ gây ra 2 gói riêng biệt sẽ được sử dụng: gói gốc và gói đã sửa đổi. Điều này có lẽ không phải là những gì bạn muốn, vì vậy không nên đổi tên trong những trường hợp đó. Xem [câu hỏi này] (http://stackoverflow.com/q/42178852/268093) làm ví dụ như vậy. – MasterAM

+0

Tôi gặp sự cố không thể sửa đổi các gói từ .meteor/packages, nhưng với các bước này nó hoạt động. –

0

tôi có các gói của tôi trong thư mục người dùng của tôi tại gốc của nó như là một thư mục ẩn có tên .meteor.

Có lẽ bạn có thể kiểm tra ở đó? Trên một mac nó sẽ là dưới:

~/.meteor/gói/tên gói của bạn

Bạn cũng phải bây giờ đi vào một tập tin có os.json, và thay đổi "chiều dài" biến cho tệp bạn đã thay đổi để phù hợp với kích thước tệp byte mới. Nếu không, nó có thể không biên dịch, nhưng hãy thử biên dịch đầu tiên và xem vấn đề của nó có phải là bạn đã thay đổi một số mã gói hay không.

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