Scaffolding a React Page
Automating New React Page Creation
Initially, I documented the creation process on how to get started on React on the following sections.
Well, skip those and use this instead if you’re creating a new React application:
npm install -g create-react-app
However, I’d still do the manual setup if you want specific parts of your current website to use React.
Initial Setup
FYI: The following information is tested on React 15.
The following components are used to scaffold a new React page:
npm install react react-dom --save npm install babel-core babel-loader babel-preset-es2015 babel-preset-react --save-dev npm install webpack webpack-dev-server --save-dev
Complete the next steps
- From project root: vim webpack.config.js
- Use the following code snippet to scaffold the initial contents of webpack.config.js
var path = require('path');
module.exports = {
entry: path.resolve(__dirname, 'src') + '/app/index.js',
output: {
path: path.resolve(__dirname, 'dist') + '/app',
filename: 'bundle.js',
publicPath: '/app/'
},
module: {
loaders: [
{
test: /\.js$/,
include: path.resolve(__dirname, 'src'),
loader: 'babel-loader',
query: {
presets: ['react', 'es2015']
}
},
{
test: /\.css$/,
loader: 'style-loader!css-loader'
}
]
}
};
Build Process
Update your scripts area of package.json to automate some of your build process.
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "npm run build",
"build": "webpack -d && webpack-dev-server --content-base src/ --inline --hot --port 1234"
},
Source: React Hello World, React Tutorial #2
