gpt4 book ai didi

ember.js - 我怎样才能让我的 ember cli 插件提供供应商树

转载 作者:行者123 更新时间:2023-12-02 19:33:43 28 4
gpt4 key购买 nike

我正在尝试让我的插件向使用它的应用程序提供供应商数据。该库是 CKEditor(从 CKEditor 构建器生成的自定义版本)。我知道我可以使用插件蓝图添加 Bower 依赖项,但由于 CKEditor 是自定义的,我无法使用 Bower 在消费应用程序中下载相同的版本。我使用 treeForPublicbroccoli funnel 将整个 ckeditor 文件夹从我的插件供应商文件夹复制到应用程序公共(public)文件夹(这是 ckeditor 所需的)。我唯一的问题是消费应用程序还需要在其供应商文件夹中包含 ckeditor 文件夹,否则它将无法构建,因为观察者找不到它。我的印象是,如果插件将文件夹移动到公共(public)目的地,并且还在 included Hook 中导入 js/css 文件,则最终应用程序不需要原始供应商文件夹。我是否理解错误,或者我可以在不复制插件和应用程序之间的 ckeditor 文件夹的情况下执行此操作吗?

这是我到目前为止所拥有的:

included: function(app) {
this._super.included(app);

app.import('vendor/ckeditor_custom/ckeditor.js');
app.import('vendor/ckeditor_custom/styles.js');
app.import('vendor/ckeditor_custom/lang/fr.js');
app.import('vendor/ckeditor_custom/skins/minimalist/editor.css');
},

contentFor: function(type, config) {
if (type === 'vendor-prefix') {
return "window.CKEDITOR_BASEPATH = 'assets/ckeditor/';";
}
},

treeForPublic: function (tree) {
var ckeditorTree = new Funnel('vendor/ckeditor_custom/', {
srcDir: '/',
exclude: ['**/.DS_Store','**/*.md'],
destDir: 'assets/ckeditor'
});

return BroccoliMergeTrees([tree, ckeditorTree]);
},

treeForVendor: function (tree) {
var ckeditorTree = new Funnel('vendor/ckeditor_custom/', {
srcDir: '/',
exclude: ['**/.DS_Store','**/*.md'],
destDir: 'ckeditor_custom'
});

return ckeditorTree;
},

感谢您的帮助!

最佳答案

尝试一下:

var path = require('path');
var mergeTrees = require('broccoli-merge-trees');
var concat = require('broccoli-concat');

module.exports = {
name: 'myaddon',

treeForVendor: function(tree) {
var trees = [tree];

var ckeditorTree = path.join('bower_components', 'ckeditor_custom');

trees.push(concat(ckeditorTree, {
inputFiles: [
'ckeditor.js',
'styles.js',
'lang/fr.js'
],
outputFile: '/ckeditor.js'
}));

trees.push(concat(ckeditorTree, {
inputFiles: [
'skins/minimalist/editor.css'
],
outputFile: '/ckeditor.css'
}));

return mergeTrees(trees);
},

included: function included(app) {
this.app = app;
app.import('vendor/ckeditor.js');
app.import('vendor/ckeditor.css');
}
};

关于ember.js - 我怎样才能让我的 ember cli 插件提供供应商树,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33020226/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com