首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将Tinymce与Symfony encore结合起来?

如何将Tinymce与Symfony encore结合起来?
EN

Stack Overflow用户
提问于 2018-01-30 16:10:39
回答 4查看 4.1K关注 0票数 9

我有一个Symfony4项目,它使用flexencore。我想加些锡尼丝。

因此,我添加了tinymce项目:

代码语言:javascript
复制
$ yarn add tinymce

我编辑了我的app.js文件:

代码语言:javascript
复制
require('../css/app.scss');

// Import TinyMCE
import tinymce from 'tinymce/tinymce';

// A theme is also required
import 'tinymce/themes/modern/theme';

// Any plugins you want to use has to be imported
import 'tinymce/plugins/paste';
import 'tinymce/plugins/link';

// Initialize the app
tinymce.init({
    selector: 'textarea',

    plugins: ['paste', 'link']
});

我汇编了:

代码语言:javascript
复制
$ yarn run encore dev

汇编是成功的:

代码语言:javascript
复制
Running webpack ...

 DONE  Compiled successfully in 17600ms                                                                                                                                                                                                             

 I  8 files written to public\build
Done in 20.23s.

我的文本区域被一个空白页所取代。

我在文档中找到了解决方案,当我将node_modules/tinymce/skins目录复制到/public/build/skins时,它工作得很好。但我还是得在每次编完纱之后再做

是否有一种方法可以自动地将这个node_modules/tinymce/skins /public/build/skins**?**目录复制到,是否可以更新webpack.config.js来完成它?

PS:我读了一些重命令webpack-loader,但我不明白我要做什么。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2018-01-31 09:54:18

推荐:copyFiles OPTION1: buit-in 函数

使用Encore的内置copyFiles函数。

代码语言:javascript
复制
var Encore = require('@symfony/webpack-encore');

//...

Encore
    // directory where compiled assets will be stored
    .setOutputPath('public/build/')
    // public path used by the web server to access the output path
    .setPublicPath('/build')

    // copy tinymce's skin files
    .copyFiles({
        from: 'node_modules/tinymce/skins',
        to: 'skins/[path]/[name].[ext]'
    })

安可API参考

OPTION2 :复制webpack插件

我添加了复制webpack插件

代码语言:javascript
复制
yarn add copy-webpack-plugin --dev

我编辑了我的webpack.config.js,只添加了4行:

代码语言:javascript
复制
var Encore = require('@symfony/webpack-encore');

//DECLARATION OF THE NEW PLUGIN
var CopyWebpackPlugin = require('copy-webpack-plugin');

Encore
// the project directory where all compiled assets will be stored
    .setOutputPath('public/build/')

    // the public path used by the web server to access the previous directory
    .setPublicPath('/build')

    // will create public/build/admin/app.js and public/build/admin/app.css
    .addEntry('admin', './assets/js/app.js')

    //Some project lines
    //...
    //...
    
    //I call the plugin with its new syntax (since 3.11)
    .addPlugin(new CopyWebpackPlugin({
        patterns: [
            // Copy the skins from tinymce to the build/skins directory
            { from: 'node_modules/tinymce/skins', to: 'skins' },
        ],
    }))

    //Some project lines
    //...
    //...
;

// export the final configuration
module.exports = Encore.getWebpackConfig();
票数 16
EN

Stack Overflow用户

发布于 2018-05-18 15:02:40

谢谢你的帖子..。它解决了我的问题,但对我来说略有不同。我不得不把皮放进去

代码语言:javascript
复制
/public/build/js/skins

所以我改变了webpack的配置

代码语言:javascript
复制
.addPlugin(new CopyWebpackPlugin([
    // Copy the skins from tinymce to the build/skins directory
    { from: 'node_modules/tinymce/skins', to: 'skins' },
]))

代码语言:javascript
复制
.addPlugin(new CopyWebpackPlugin([
    // Copy the skins from tinymce to the build/skins directory
    { from: 'node_modules/tinymce/skins', to: 'js/skins' },
]))

而且起作用了!再次感谢!

票数 4
EN

Stack Overflow用户

发布于 2020-08-24 22:45:04

注意,由于复制插件的v3.11,语法发生了变化,以前的答案将不再起作用。新语法需要patterns字段:

代码语言:javascript
复制
var Encore = require('@symfony/webpack-encore');

// Plugins
var CopyWebpackPlugin = require('copy-webpack-plugin');

...

Encore
    .setOutputPath('public/build/')
    .setPublicPath('/build')  
    .addEntry('app', './assets/js/app.js')

    .addPlugin(new CopyWebpackPlugin({
        patterns: [
            // Copy the skins from tinymce to the build/skins directory
            { from: 'node_modules/tinymce/skins', to: 'skins' },
        ],
    }))

...
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48525861

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档