2016-10-18 15 views
7

Giả sử bạn có hai ứng dụng Angular 2 khác nhau và cả hai ứng dụng đều cần sử dụng cùng một thành phần.Tái sử dụng mô-đun góc 2 trong ứng dụng khác mà không cần xuất bản lên npm?

Tôi đã tạo thành phần chung, tạo thư viện theo hướng dẫn này http://blog.angular-university.io/how-to-create-an-angular-2-library-and-how-to-consume-it-jspm-vs-webpack/, nhưng npm sẽ đặt mã của tôi ở chế độ công khai và tôi sẽ phải trả tiền để đặt ở chế độ riêng tư.

Vì vậy, các câu hỏi là: 1. Làm cách nào để tạo các thành phần có thể có sẵn cho nhóm làm việc? 2. Có cần thiết phải xuất bản lên npm hoặc tôi có thể chỉ cần đẩy mã của tôi tới repo github riêng tư không? Và nếu có, tôi nên làm như thế nào và quy trình sử dụng lại mã trong ứng dụng là gì?

Xin cảm ơn trước.

+3

trùng lặp có thể xảy ra của [Làm thế nào để sử dụng Github repo tin như phụ thuộc NPM] (http://stackoverflow.com/questions/28728665/how-to-use-private-github-repo-as-npm-dependency) –

+1

Tôi không nghĩ @Alina đang hỏi cách sử dụng repo riêng tư như một sự phụ thuộc nhưng làm thế nào một dự án nên được cấu trúc và duy trì để phục vụ như một mô-đun có thể tái sử dụng ở góc khác dự án. – Damon

+0

Đồng ý với @Damon. Có ở đây bản thân mình bởi vì tôi đã tìm kiếm làm thế nào để tạo ra một mô-đun có thể tái sử dụng. Không có tài khoản github/npm riêng tư và một trong các giải pháp như 'thiết lập nội bộ của riêng bạn npm repo' có vẻ ... không lý tưởng. Trong thời gian này, tôi đang sao chép cấu trúc ứng dụng của dự án ng-bootstrap, nhưng quá trình tái sử dụng nó trong các ứng dụng khác nhau dường như không rõ ràng. – BLSully

Trả lời

0

package.json cho phép bạn tham khảo các gói được tải xuống từ kho lưu trữ git và đây có thể là gói bạn sử dụng trong nội bộ. Xem NPM documentation

Ví dụ về các định dạng:

git+ssh://[email protected]:npm/npm.git#v1.0.27 
git+ssh://[email protected]:npm/npm#semver:^5.0 
git+https://[email protected]/npm/npm.git 
git://github.com/npm/npm.git#v1.0.27 

Vì vậy, đây sẽ ở package.json của bạn cung cấp cho một cái gì đó như:

"dependencies": { 
    "privatepackage":"git://localgitserver/git/privatepackage.git" 
} 
Các vấn đề liên quan