2015-10-09 30 views
5

Tôi đang viết một ứng dụng Ember.js sử dụng Ember Cli, và tôi muốn bao gồm một phụ thuộc không bower - về cơ bản là một sự phụ thuộc từ thư mục vendor của tôi.Ember Cli - Transpiling nhà cung cấp phụ thuộc ES6 trong ember-cli-build?

Các hướng dẫn về làm như vậy là nói cho tôi thêm dòng sau vào ember-cli-build.js tập tin của tôi:

app.import('vendor/dependency-to-include.js'); 

Điều đó sẽ làm việc tốt với một sự phụ thuộc bình thường hương ES5, nhưng những gì nếu tôi muốn thêm một sự phụ thuộc bằng văn bản trong ES6?

Ngay bây giờ nó chỉ cung cấp nó vào trình duyệt bị ảnh hưởng, trong đó sản xuất một lỗi như:

Uncaught SyntaxError: Unexpected reserved word 

vì ES6 tôi hương vị phụ thuộc sử dụng cú pháp sau:

import Util from './util 

Tôi đoán rằng Tôi cần phải nói với ember-cli-xây dựng để transpile phụ thuộc đặc biệt này trước khi chuyển nó vào trình duyệt, nhưng làm thế nào để tôi đi về làm điều đó?

Cảm ơn

+0

Dấu gạch chéo ngược ba là dấu hiệu cụ thể của Github. Sử dụng backticks đơn hoặc bốn không gian để đánh dấu mã trên StackOverflow. – meagar

Trả lời

-1

Bạn hiện bao gồm Babel trong dự án của bạn? Tôi đã nghĩ rằng nó sẽ kiểm tra thư mục nhà cung cấp của bạn giống như nó làm mọi thứ khác và chuyển đổi mã ES6 thành ES5.

Tùy chọn khác sẽ chỉ là chuyển đổi tệp sang ES5 theo cách thủ công bất cứ khi nào bạn cần bao gồm tệp nhà cung cấp có cú pháp ES6. Không nhất thiết là lý tưởng, nhưng nếu đó là một tập tin tĩnh thì đó là điều bạn sẽ cần phải làm một lần và sau đó quên đi.

1

Để chuyển đổi phụ thuộc đã nhập, bạn cần chạy (các) tệp được nhập thông qua phần bổ sung bông cải xanh broccoli-babel-transpiler. Ví dụ cơ bản, hãy kiểm xuất tệp này: https://github.com/thefrontside/ember-impagination/blob/2fa38d26ef1b27a3db7df109faa872db243e5e4c/index.js. Bạn có thể điều chỉnh addon này thành in-repo addon cho dự án của bạn. Xem liên kết này cho thảo luận nền và @rwjblue và @cowboyd về cách sửa lỗi thực tế: https://github.com/ember-cli/ember-cli/issues/2949

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