Run a preview server for a ribcage component
npm install ribcage-previewribcage-preview
===============
Preview a UI component. Runs an atomify preview server with live reloading, server-side rendering (for react components), and react-router support.
``sh`
npm install -g ribcage-preview
`sh`
ribcage-preview
should be the directory of the component you want to preview.`sh
open http://localhost:4001/default
`This URL will livereload on every file change, and load in the compiled
entry.js and entry.css.$3
Create an example folder in your with an entry.js and an entry.css and optionally an entry.html and data.js files.`
- index.{js,jsx}
- index.css
- example/
- entry.{js,jsx}
- entry.css
- [data.{js,json}]
- [entry.html]
`$3
.jsx files are also recognized. If the index file is .jsx, client-side JS will be off by default unless you pass a s or --client-jsx flag. The index.jsx file is always rendered by the server and the results appended to . Your example/entry.jsx is the client-side entry for browserify. It should render into the same div.If you specify
React.documentHead = {title: 'my title'}, the tag will be set on the server. You might like a pattern like this:`js
import React from 'react'
import setHead from 'react-document-head'class A extends React.Component {
render () {
setHead({title: 'my sparky page'})
return
}
}
`Flags
$3
You can disable sourcemaps with --no-debug$3
If the entry file is .jsx, client-side js will not be served unless this flag is passed. react needs to be installed in node_modules in the cwd.$3
If passed, the index file should pass a routes object for react-router instead of a component. This turns on spaMode so that both the server and the client render the same routes. react-router needs to be installed node_modules in cwd.$3
true by default. Allows you to turn of autoprefixing for CSS.
$3
If you have an example/entry.jsx file, it's rendered on the client for you. If you want to provide data to this client on the server, put in a example/data.json or example/data.js`. This object will get passed as props to the react component by the server. You're responsible for passing this object to your component on the client.