dotcms
TypeScript icon, indicating that this package has built-in type declarations

0.0.21 • Public • Published

JavaScript SDK for DotCMS API's

This library allows you to interact with DotCMS API's easily from the browser, nodejs and React Native. Full Documentation

Install

npm install dotcms --save

or

yarn install dotcms

Usage

import { initDotCMS } from 'dotcms';

const dotcms = initDotCMS({
    hostId: 'DOTCMS_SITE_IDENTIFIER',
    host: 'YOUR_DOTCMS_INSTANCE',
    token: 'YOUR AUTH TOKEN'
});

// Example
dotcms.page
    .get({
        url: '/about-us'
    })
    .then((data) => {
        console.log(data);
    })
    .catch((err) => {
        console.error(err.status, err.message);
    });

Examples

Next.js

Next.js gives you the best developer experience with all the features you need for production. Read more

Fetching data in the client

import { useEffect, useState } from 'react';
import { initDotCMS } from 'dotcms';

const dotcms = initDotCMS({
    host: 'YOUR_DOTCMS_INSTANCE',
    token: 'YOUR AUTH TOKEN'
});

export default function Home() {
    const [state, setState] = useState(null);

    useEffect(async () => {
        const page = await dotcms.page.get({
            url: '/index'
        });
        setState(page);
    }, []);

    return state && <h1>{state.page.title}</h1>;
}

Fetching data in the server

import { useEffect, useState } from 'react';
import { initDotCMS } from 'dotcms';

export default function Home(props) {
    return <h1>{props.page.title}</h1>;
}

export async function getServerSideProps(context) {
    const page = await dotcms.page.get({
        url: context.req.url // you can map the urls with dotcms
    });

    return {
        props: page // will be passed to the page component as props
    };
}

More about data fetching in Nextjs.

Running unit tests

Run nx test dotcms to execute the unit tests.

This library was generated with Nx.

Readme

Keywords

none

Package Sidebar

Install

npm i dotcms

Weekly Downloads

213

Version

0.0.21

License

none

Unpacked Size

62.6 kB

Total Files

92

Last publish

Collaborators

  • devdotcms