如何使用带有requirejs和r.js优化器的Ckeditor

时间:2017-01-27 02:30:46

标签: requirejs ckeditor requirejs-optimizer

我有一个使用CKEditor的大型项目,它使用requirejs优化器(http://requirejs.org/docs/optimization.html)构建,将所有javascript组合成一个.js文件。使用requirejs时,“jquery”和“ckeditor”等个别模块是“必需的”。

除了ckeditor,一切都很好。现在我必须从单个组合的.js文件中“排除”ckeditor('exclude'是requirejs优化器的一个选项)。

我的需要配置如下:

requirejs.config({
  'baseUrl': '/myapp/',
  paths: {
    'scs-core-libs': '../../core/src/libs',

    'knockout':  '../../core/src/libs/knockout/dist/knockout',
    'jquery':    '../../core/src/libs/jquery/dist/jquery.min',
    'jquery-ui': '../../core/src/libs/jquery-ui/ui',
    'ckeditor':  '../../core/src/libs/ckeditor/ckeditor'
    ...
  }
  ...
});

我必须从优化器中排除ckeditor,否则ckeditor无法找到我的插件,我的语言文件,甚至主config.js文件。

var requireJsOptimizerConfig = {
  baseUrl: './src',
  exclude: [
    'scs-core-libs/ckeditor/ckeditor'
  ],
  ...
}

我试过CKBuilder,但这没有用。 CKEditor对requirejs优化器不友好吗?有没有人能够将所有CKEditor加入到单个应用程序.js文件中?

基本上我希望能够删除'exclude'行。

1 个答案:

答案 0 :(得分:2)

在需要编辑器之前,需要将CKEDITOR_BASEPATH设置为某个全局变量。

 var CKEDITOR_BASEPATH = '/path/to/your/installation/of/ckeditor/';

http://docs.ckeditor.com/#!/guide/dev_basepath