webpack构建React开发环境

安装webpack

先新建文件夹并进入

    mkdir  demo

    cd  demo

项目初始化

    npm  init  -y

补充:此处加-y是因为一路回车比较麻烦,可以生成默认的package.json文件

安装

    cnpm  install  --save-dev  webpack

配置webpack.config.js

在项目根目录建立webpack.config.js文件,这个文件是进行webpack配置的,先建立基本的入口和出口文件。

  var path =require('path');

  module.exports = {
      //入口文件
       entry:'./app/index.js',
      //出口文件
      output:{
          filename:'index.js',
          path:path.resolve(__dirname,'dist')
      }
  }
新建index.html文件
在根目录新建index.html文件,并引入webpack设置中的出口文件,代码如下。
  <html lang="en">
  <head>
      <meta charset="UTF-8">
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      <meta http-equiv="X-UA-Compatible" content="ie=edge">
      <title>React</title>
  </head>
  <body>
    
  </body>
  <!--引入出口文件-->
  <script src="./dist/index.js"></script>
  </html>

测试webpack配置

/app/index.js文件

function component(){

    var element = document.createElement('div');
    element.innerHTML = ('Hello JSPang');
    return element;
}
document.body.appendChild(component());
package.json文件加入打包命令
"scripts": {
    "build": "webpack"
  },
打包
  npm run build

开发服务器配置

安装:

  cnpm install --save-dev webpack-dev-server

配置webpack.config.js文件:

  devServer:{

      contentBase:'./',
      host:'localhost',
      compress:true,
      port:8080
  }
packeage.json:
  "scripts": {
      "build": "webpack",
      "server": "webpack-dev-server --open"
    },
启动服务:
  npm run server 
自动刷新浏览器
在我们修改代码时,现在并不能自动刷新浏览器,不会立即呈现我们编写的代码结果,而时要再次npm run build才可以。其实只要在出口文件配置中加一个publicPath:’temp/’,然后在index.html引入JS时写这个temp地址就可以实时预览了。
output:{
    filename:'index.js',
    path:path.resolve(__dirname,'dist'),
    publicPath:'temp/'
},
index.html文件引入JS:
  <script src="./temp/index.js"></script>

Babel安装配置

在webpack中配置Babel需要先加入babel-loader,这里我们继续使用npm来进行安装,但是我们一般还需要支持es2015和React,所以要安装四个包。安装后你会在package.json里看到这些包的版本。

    cnpm   install  --save-dev  babel-core   babel-loader  babel-preset-es2015   babel-preset-react

配置module

在安装完成后,可以到webpack.config.js里配置module,也就是配置我们常说的loader。

module:{

    loaders:[
        {
            test:/\.js$/,
            exclude:/node_modules/,
            loaders:"babel-loader",
            query:{
                presets:['es2015','react']
            }
        }
    ]
}

编写React

安装React和React-dom

  cnpm install --save react  react-dom

安装完成后,我们改写app/index.js文件,把原来原生的JavaScript代码改成React代码。

index.js

import React from 'react';

import ReactDOM from 'react-dom';

 

ReactDOM.render(

 

    <div>Hello majing</div>,

 

    document.getElementById("app")

 

);
index.html
  <div id="app"></div>
配置完就可以npm  run  server预览了

 

posted @ 2018-03-15 15:42  你说我听  阅读(240)  评论(0编辑  收藏  举报