ember-browserify
là một lựa chọn tuyệt vời để sử dụng trong các ứng dụng, và có work being done để cố gắng cho phép Ember CLI để nhập khẩu các gói NPM mà không cần bất kỳ sự trợ giúp thêm gì cả. Tuy nhiên, nếu bạn đang cố gắng để làm cho công việc này trong cả hai addons và ứng dụng bạn có thể có một cách tiếp cận hơi khác nhau, đó là để tự sửa đổi các chuỗi xây dựng bông cải xanh để bao gồm gói Node của bạn.
Đây là một ví dụ nhanh như thế nào điều này có thể được thực hiện trong tập tin index.js
của một addon:
var path = require('path');
var mergeTrees = require('broccoli-merge-trees');
var Funnel = require('broccoli-funnel');
module.exports = {
name: 'my-addon',
treeForVendor: function(tree) {
var packagePath = path.dirname(require.resolve('node-package'));
var packageTree = new Funnel(this.treeGenerator(packagePath), {
srcDir: '/',
destDir: 'node-package'
});
return mergeTrees([tree, packageTree]);
},
included: function(app) {
this._super.included(app);
if (app.import) {
this.importDependencies(app);
}
},
importDependencies: function(app) {
app.import('vendor/node-package/index.js');
}
};
Một kỹ thuật tương tự có thể được sử dụng cho các ứng dụng tiêu chuẩn. Một lần nữa, phương pháp này sẽ được thay thế ngay khi nhóm Ember CLI thêm hỗ trợ cho các mô-đun Nút, vì vậy hãy cố gắng sử dụng nó một cách tiết kiệm và cập nhật với Ember CLI!
Bạn đã cài đặt mô-đun thông qua '' 'npm install --save-dev outstanding-regexp'''? – Adib