Bonjour,
Voila je rencontre un petit problème avec mon code.
Ce que je fais
Je charge le script tinymce dans mon "backend"
import tinymce from 'tinymce/tinymce';
import 'tinymce/themes/modern/theme';
// plugins
import 'tinymce/plugins/paste';
import 'tinymce/plugins/link';
let editor = document.querySelector('.js-editor');
if (document.body.contains(editor)) {
tinymce.init({
selector: '.js-editor',
plugins: ['paste', 'link']
});
}
Ce que je veux
le texteare sois transformer et que Tinymce sois bien chargé.
<textarea class="form-control js-editor" name="content" cols="50" rows="10" id="content"></textarea>
Ce que j'obtiens
Je ne vois plus le textearea par default. J'ai deux erreurs en console.
GET lakamark.dev/js/skins/lightgray/skin.min.css net::ERR_ABORTED
GET lakamark.dev/js/skins/lightgray/content.min.css net::ERR_ABORTED
Il ne réussit pas trouver les fichiers.
Dans mon projet jutilise Laravel pour le PHP et sons système interne des assets qui est "laravel-mix". Il fonctione avec Webpack.
J'ai regardé la doc :
https://www.tinymce.com/docs/advanced/usage-with-module-loaders/
J'utlise la derniere version de webpack et la doc n'est pas à jours.
J'ai adopté dans mon cas :
rules: [
{
test: /\.tinymce$/,
use: [
{
loader: 'file-loader',
options: {
'name': '[path][name].[ext]',
'context': 'node_modules/tinymce!tinymce/skins'
}
}
]
}
],
Le teste échoue quand je recompile mes assets.
Invalid configuration object. Webpack has been initialised using a configuration object that does not match the API schema.
- configuration has an unknown property 'rules'. These properties are valid:
object { amd?, bail?, cache?, context?, dependencies?, devServer?, devtool?, entry, externals?, loader?, module?, name?, node?, output?, parallelism?, performance?, plugins?, profile?, recordsInputPath?, recordsOutputPath?, recordsPath?, resolve?, resolveLoader?, stats?, target?, watch?, watchOptions? }
For typos: please correct them.
For loader options: webpack 2 no longer allows custom properties in configuration.
Loaders should be updated to allow passing options via loader options in module.rules.
Until loaders are updated one can use the LoaderOptionsPlugin to pass these options to the loader:
plugins: [
new webpack.LoaderOptionsPlugin({
// test: /\.xxx$/, // may apply this only for some modules
options: {
rules: ...
}
})
]
Merci en avance.