Issue #2261✓ SolvedOpened September 10, 2019by raghuv93 reactions

Load local html file into grapesjs

Quick answerby pouyamiralayi2

hi! beside reading the content of the file that heavily depends on your environment, (if you are in a node environment you can use 'fs' module), you can use editor.setComponents('your html content'). more info here cheers.

Read full answer below ↓

Question

Code SnippetTEXT
hello i am pretty new to grapejs i want to load a local html file in the assets folder into grapesjs editor ,pls tellme how i can load local html file thanks in advance .. 
here is my code
----------------------------
import grapesjs from 'grapesjs';

import 'grapesjs/dist/css/grapes.min.css';
import 'grapesjs-preset-newsletter/dist/grapesjs-preset-newsletter.css';
import 'grapesjs-preset-webpage/dist/grapesjs-preset-webpage.min.css';

import gjspresetnewsletter from 'grapesjs-preset-newsletter';
import gjspresetwebpage from 'grapesjs-preset-webpage';

    export default {
        data() {
            return {
                editor: null
            }
        },
        methods: {
            change() {
                this.$emit('change', this.editor.getHtml());
            },
        },
          mounted() {
                const LandingPage = {
                html: '../userpage/index.html',
                css: ['../userpage/style.css','../userpage/css.css','../userpage/bootstrap.min.css'],
                components: null,
                style: null,
                };
                this.editor = grapesjs.init({
                container: "#gjs",
                canvas: {},
                fromElement: true,
                components: LandingPage.components || LandingPage.html,
                style: LandingPage.style || LandingPage.css,
                plugins: [],
                pluginsOpts: {
                    "gjs-preset-webpage": {}
                },
                 storageManager: {
                    type: 'local',
                    stepsBeforeSave: 10,
                    urlStore: '',
                    urlLoad: 'https://raghuv9.github.io/Tapmusic/',
                    params: {}, token
                    headers: {},
                    }
                });
        }
    }

Answers (3)

👍 Most helpfulpouyamiralayiSeptember 10, 2019

hi! beside reading the content of the file that heavily depends on your environment, (if you are in a node environment you can use 'fs' module), you can use editor.setComponents('your html content'). more info here cheers.

nikolabttSeptember 10, 2019

Browser (GrapesJS is executed in browser) should not be able to access arbitrary file from host machine file system. If that was allowed, you would be able to add some JS to a web page and be able to steal files from your users. If you want to achieve this, you must host your files on a http server.

raghuv9September 10, 2019

hi! beside reading the content of the file that heavily depends on your environment, (if you are in a node environment you can use 'fs' module), you can use editor.setComponents('your html content'). more info here cheers.

No actually i'm trying to give the link of that html file like url:'../somefolder/test.html' this is how i want to load it into editor instead of pasting html code inside set-component method, is there any chance of doing it like this(urlLoad:"assets/folder/file.html") by using urlLoad method inside storagemanager?

Related Questions and Answers

Continue research with similar issue discussions.

Paid Plugins That Match This Issue

Curated by issue keywords and label relevance to help you ship faster.

View all plugins

Loading paid plugin recommendations...

Free option

Check the open-source GrapesJS plugins on GitHub or run a quick search in our free catalog.

Browse free plugins →
Premium option

Premium plugins ship with support, regular updates, and production-ready features — save days of integration work.

Browse premium plugins →

Related tutorials

In-depth guides on the same topic.

All tutorials →

Browse Plugin Categories

Jump directly to plugin category pages on the marketplace.