npm+webpack+babel+react安装

1.首先要安装 Node.js, Node.js 自带了软件包管理器 npm

2.在项目文件目录下生成package.json

# 进入项目目录

$ npm init

3.用 npm 安装 Webpack

$ npm install webpack -g

此时 Webpack 已经安装到了全局环境下,通常我们会将 Webpack 安装到项目的依赖中,这样就可以使用项目本地版本的 Webpack。

# 进入项目目录

# 安装 webpack 依赖:

$ npm install webpack --save-dev

4.用 npm 安装 模块加载器(loader)

$ npm install style-loader css-loader -g

将 style-loader css-loader 安装到项目的依赖中

# 进入项目目录

# 安装 style-loader css-loader 依赖:

$ npm install style-loader css-loader --save-dev

5.用 npm 安装 html-webpack-plugin

# 进入项目目录

# 安装 html-webpack-plugin 依赖:

$ npm install html-webpack-plugin --save-dev

6.用 npm 安装 webpack-dev-server

# 进入项目目录

# 安装 webpack-dev-server 依赖:

$ npm install webpack-dev-server --save-dev

7.用 npm 安装 babel-cli: babel转码器

$ npm install babel-cli -g
# 进入项目目录

# 安装 babel-cli 依赖:

$ npm install babel-cli --save-dev

8.用 npm 安装 babel-preset-es2015

$ npm install babel-preset-es2015 -g
# 进入项目目录

# 安装 babel-preset-es2015 依赖:

$ npm install babel-preset-es2015 --save-dev

9.用 npm 安装 babel-loader

# 进入项目目录

# 安装 babel-loader 依赖:

$ npm install babel-loader --save-dev

10.用 npm 安装 react

$ npm install react react-dom babel-preset-react -g
# 进入项目目录

# 安装 react 依赖:

$ npm install react react-dom babel-preset-react --save-dev

11.用 npm 安装 react-hot-loader

# 进入项目目录

# 安装 react-hot-loader 依赖:

$ npm install react-hot-loader --save-dev

11.在项目文件目录下创建.babelrc文件

{"preset":["es2015"],"react"}

12.在项目文件目录下创建example文件夹,并在其下面创建如下文件

index.jsx:

var React = require("react");

var ReactDOM = require("react-dom");

import App from './app.jsx';

var Hello = React.createClass({

render:function(){

return <div>1234<App/></div>

}

});

var div1 = document.createElement("div");

document.body.appendChild(div1);

ReactDOM.render(<Hello />,div1);

app.jsx:

var React = require("react");

var ReactDOM = require("react-dom");

export default class App extends React.Component{

render(){

return <h1>hello reactJs</h1>

}

}

13.在项目文件目录下建立webpack.config.js

var htmlWebpackPlugin = require('html-webpack-plugin'); //使用自动生成html文件的一个插件

var path = require('path');

module.exports = {

entry: './example/index.jsx',

output:{

path:'./example_build/',

filename:'build.js'

},

module:{

loaders:[

{

test:/\.css$/,

loaders:['style','css'],

exclude:'node_modules'

},

{

test:/\.jsx?$/,

loaders:['react-hot','babel?presets[]=es2015&presets[]=react'],

exclude:"/node_modules/",

include:path.resolve(__dirname,"example")

}

] },

resolve:{

extensions:['','.js','.css','.jsx'] },

devServer: {

hot:true,

inline:true

},

plugins:[

new htmlWebpackPlugin({

title:"First react app"

})

]}

14.webpack打包

# 进入项目目录

$ webpack

此时项目目录下将会生成example_build文件夹,其内部也生成build.js 和 index.html文件,

15.webpack-dev-server 热加载

# 进入项目目录

$ webpack-dev-server --hot --inline

此时在浏览器中打开http://localhost:8080/,将会看到example_build下index.html页面内容。

这时,修改example下的index.jsx内容,页面将会自动刷新;修改exampleg下的app.js内容,页面将会局部刷新。