dotcms
v0.0.21
Published
This library allows you to interact with DotCMS API's easily from the browser, nodejs and React Native. [Full Documentation](https://dotcms.github.io/core-web/dotcms/)
Downloads
1,370
Readme
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.