2015-05-26 16 views
6

Tôi đang cố gắng tạo Addber Ember đầu tiên của mình và tôi đang gặp khó khăn khi nhập nó vào một dự án Ember. Tôi đã tạo addon và công bố để GitHub như thế này:Làm thế nào để bạn nhập một addon ember mới được tạo ra?

ember-cli$ ember addon test-addon 
ember-cli$ cd test-addon 
ember-cli/test-addon$ git remote add origin <github-url> 

Sau đó, từ dự án của tôi, tôi cài đặt addon:

test-app$ ember install <github-url> 

Và, cuối cùng, cố gắng để nhập nó vào một con đường:

# app/rotues/index.coffee 
import TestAddon from 'test-addon' 

Nhưng, tôi nhận được lỗi này trên giao diện điều khiển:

Uncaught Error: Could not find module `test-addon` imported from `test-app/routes/index` 

Bất kỳ ý tưởng nào tôi đang gặp sự cố? Tôi có thể thấy tiện ích bổ sung trong thư mục node_modules nhưng không có trong số bower_components. Tôi nghĩ rằng (tm) đây là vấn đề của tôi nhưng tôi không chắc chắn những gì khác tôi cần phải làm gì để thiết lập addon của tôi.

+3

Nếu bạn không xuất bản lên npm, bạn phải [link] (https://docs.npmjs.com/cli/link) addon của bạn vào dự án ember – MilkyWayJoe

+0

Cảm ơn @MilkyWayJoe nhưng tôi không nghĩ đó là vấn đề. Tôi đang xuất bản addon cho một repo riêng trên github sau đó cài đặt nó trong ứng dụng thử nghiệm (tôi đã thêm bước cài đặt vào câu hỏi của tôi). Tôi cũng đã thử npm liên kết như bạn đề nghị nhưng tôi vẫn nhận được cùng một lỗi. – spinlock

Trả lời

12

tl; dr

cd my-addon 
npm link 
cd /my/project/dir 
npm link my-addon 
ember g my-addon # run default blueprint 

Sau đó thêm "my-addon": "*" đến phần devDependencies của của package.json ứng dụng của bạn và khởi động lại máy chủ ứng dụng ember-cli.

Còn trả lời

Cách dễ nhất để bao gồm một addon tại địa phương phát triển là để use NPM's link

Đầu tiên chạy npm link từ thư mục gốc của dự án addon của bạn để đăng ký nó với NPM. Sau đó chạy npm link <your-addon-name> sẽ có tác dụng tương tự như npm install khi nhập.

Bạn vẫn sẽ cần phải thêm thủ công mã đó vào số package.json của bạn (yêu cầu cho ember-cli tìm thấy khi biên soạn ứng dụng của bạn) và chạy default blueprint (nếu trình bổ sung của bạn có).

Nếu điều này có vẻ không hoạt động, hãy kiểm tra xem bạn đã tạo một package.json trong chương trình bổ trợ của mình với "ember-addon" trong danh sách keywords (bản thiết kế addon ember-cli mặc định sẽ làm điều này cho bạn).

+0

Tôi sẽ chấp nhận điều này như là câu trả lời vì sử dụng một repo địa phương chắc chắn là con đường để đi. Tôi quên những gì đã sai với việc nhập khẩu từ github nhưng nó chắc chắn dễ dàng hơn để giữ addon cục bộ. – spinlock

+0

Vâng, chắc chắn để phát triển, liên kết là con đường để đi. Nhưng nếu bạn đang xây dựng một nơi khác (CI hoặc một cái gì đó), sau đó tôi khá chắc chắn bạn chỉ nên cài đặt từ một repo tư nhân giống như bình thường ... Dù sao, vui mừng bạn đã nhận nó được sắp xếp ra! –

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