Ale*_*ant 4 tinymce symfony yarnpkg webpack-encore
我有一个使用flex和encore的Symfony4项目.我想补充一下.
所以我添加了tinymce项目:
$ yarn add tinymce
Run Code Online (Sandbox Code Playgroud)
我编辑了我的app.js文件:
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']
});
Run Code Online (Sandbox Code Playgroud)
我编译:
$ yarn run encore dev
Run Code Online (Sandbox Code Playgroud)
编译成功:
Running webpack ...
DONE Compiled successfully in 17600ms
I 8 files written to public\build
Done in 20.23s.
Run Code Online (Sandbox Code Playgroud)
我的textareas被一个空白页面取代.
我在文档中找到了解决方案,当我将node_modules/tinymce/skins目录复制到时,它工作正常/public/build/skins.但是每次纱线编制后我仍然需要这样做
有没有办法自动将此node_modules/tinymce/skins目录复制到/public/build/skins?有可能更新webpack.config.js它吗?
PS:我看了一些recommandations用webpack-loader,但我不明白我必须做的.
我添加了copy webpack插件
yarn add copy-webpack-plugin --dev
Run Code Online (Sandbox Code Playgroud)
我编辑了我的webpack.config.js只添加了4行:
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
.addPlugin(new CopyWebpackPlugin([
// 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();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1190 次 |
| 最近记录: |