#Overview
Awesome dev environment. Gratefully lifted from gaearon/redux-devtools/tree/master/examples/todomvc.
Right now:
- Hot reloads for JS + React + CSS
##Quick start
One line install. Installs dependencies, sets up some template files:
wget https://raw.githubusercontent.com/calvinfroedge/devenv/master/installer.sh && sh installer.sh
##Installing
npm install --save-dev cf-devenv
Create a file called start.js
. Make sure you have this in your package.json:
"scripts": {
"start": "node start.js"
}
...with this content:
require('cf-devenv')(__dirname);
When you call npm start
this will run the dev server.
Your app entry point is index.js
and you'll need an index.html
to serve the content from, which should include index.js
(examples below).
##Customizing
If you need to customize your config (for example, to add loaders, aliases, etc.), you can pass a second argument when you require cf-devenv
and customize the config with the function you set as the value of the transform
key:
require('cf-devenv')(__dirname, {
transform: function(config){
config.module.loaders.push({
test: /\.json$/,
loader: 'json'
});
return config;
}
});
Any packages you install in your main project that webpack needs should still be picked up.
##Boilerplate (gets you started with a page with content, hot reloading)
index.html
<html>
<head>
<title>DevEnv</title>
</head>
<body>
<div id="root">
</div>
</body>
<script src="/static/bundle.js"></script>
</html>
index.js
import React from 'react';
import App from './App';
import './style.css';
React.render(
<App />,
document.getElementById('root')
);
App.js
import React, { Component } from 'react';
export default class App extends Component {
render() {
return (
<div>
<h1>Hello, world! (try changing me)</h1>
</div>
);
}
}
style.css
body {
background-color: black;
color: #fff;
font-family: Helvetica;
text-align:center;
padding-top: 30%;
}
#Customize
port:
devenv(__dirname, {port: 8080});