TinyMCE吞咽configuration

我正在构build一个Web应用程序,我想使用TinyMCE。 我正在使用gulp和browserify。 我已经通过npm下载了TinyMCE,而且我已经在我的app.js文件中要求它,并运行gulp命令,但是我得到了这个错误Failed to load: root/js/themes/modern/theme.js 。 我认为这是因为TinyMCE需要其文件夹中的其他文件。 我的问题是如何configurationTinyMCE来searchnode_modules / tinymce文件夹中的这些文件。

这里的答案完全取决于你如何打包你的Gulp构build文件。 我现在还在解决同样的问题,但是这里有一些小技巧可以帮助你。

在我的情况下,我使用main-bower-files插件来读取我的Bowerconfiguration,然后从我用Bower安装的所有依赖关系中返回所有主JS文件的stream。 它看起来像这样:

 var mainBowerFiles = require('main-bower-files'); gulp.task('vendor-src', function () { return gulp.src(mainBowerFiles('**/*.js') .pipe(uglify()) .pipe(concat('main.min.js')) .pipe(gulp.dest('dist/')) }); 

不幸的是,这并没有select安装在我的bower_components目录中的任何TinyMCE文件,因为通过Bower安装的“tinymce”不带有package.json文件。 我想这是因为你可以select使用TinyMCE的常规版本和jQuery版本,它们都在包中。

我不得不从上面改变我的Gulp任务,让它拿起我想要的TinyMCE源代码(jQuery版本)。 该版本看起来像这样:

 var mainBowerFiles = require('main-bower-files'); gulp.task('vendor-src', function () { return gulp.src( mainBowerFiles('**/*.js', { "overrides": { "tinymce": { "main": ["tinymce.jquery.js", "plugins/**/*.js", "themes/**/*.js"] } }) .pipe(uglify()) .pipe(concat('main.min.js')) .pipe(gulp.dest('dist/')) }); 

这将包括所有与TinyMCE相关联的JS文件,并将它们添加到“主要文件文件”列表中。

这只是一个部分的解决scheme,因为你还必须拿起TinyMCE CSS和字体文件。 然后,如果你的构build是完全不同的,或者你没有使用main-bower-files插件,这可能也没有帮助。

对于main-bower-files作者,我曾经有一个开放的问题,他们不愿意和TinyMCE一起使用,可能是因为需要包含大量额外的文件(?)。 在Github上看到以下问题 。

我最终只是通过一个简单的一口气任务将tinymce文件夹复制到我的dist/ 。 我可能使用鲍尔和不同的path,但你明白了

 gulp.task('bower-tinymce', function() { //Copy resources from tinymce-dist that didn't make it in the bower-files return gulp.src('src/main/resources/static/bower_components/tinymce-dist/**/*').pipe(gulp.dest('src/main/resources/static/dist/tinymce')); });