webpack + react 创建项目


一、前期准备

创建新的文件夹:

mkdir react-webpack-demo

切换到react-webpack-demo文件夹下面,生成packge.json配置文件

cd react-webpack-demo
npm init

在该目录下创建文件夹目录大致如下:


webpack + react 创建项目_第1张图片

其中,build用于存放webpack打包的文件,.babelrc是babel的配置文件,webpack.config.js是webpack的配置文件,之后都需要,这里先创建。

二、下载插件


安装webpack:

npm i --save-dev webpack webpack-dev-server

这里的webpack-dev-server是用来开启本地服务器的,后文会介绍具体配置方法。


安装react,

npm i --save-dev react react-dom


安装babel-loader:因为现在项目基本都用到了es2015,所以我们需要下载将es6转换成浏览器可以识别的js:

npm install --save-dev babel-loader babel-core babel-preset-env

按照我们之前的步骤,默认都是安装最新的插件。

但是如果你项目有特殊要求,webpack版本不一样,也需要下载对应的babel-loader版本,规则如下:

webpack 1.x | babel-loader <= 6.x

webpack 2.x | babel-loader >= 7.x (recommended) (^6.2.10 will also work, but with deprecation warnings)

webpack 3.x | babel-loader >= 7.1


同样需要转换react(jsx)的插件:

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


三、配置文件

webpack.config.js 

var path=require('path');  //node 自带的path
module.exports={
    entry:path.resolve(__dirname,'app/index.jsx'),  //获取到当前文件夹下面的index.jsx为入口文件
    output:{
       path:path.resolve(__dirname,'build'),  //webpack打包输入路径
       filename:'bundle.js',                  //输入包的名字
    },
    modules {                                 //对webpack loader文件的规则约束
       rules: [{
           test: /\.js|jsx$/,           
           use:{
               loader:'babel-loader'
           }
       }]
    }
}

这里说明一下,这里modules的文件配置,是为了让webpack利用babel-loader识别js和jsx文件,当然如果要识别css,png文件等只要在rules里面继续配置,具体的可以查看官方文档。


package.json,在script中定义快捷指令:

webpack + react 创建项目_第2张图片
"start":"webpack-dev-server --progress --color",
"build":"webpack --config ./webpack.config.js --progress --color"

.babelrc

{
  "presets":[
     "env","react"
  ]
}


四、打包

这个时候我们就可以打包了

npm run build


当出现这样的就说明你打包成功了,也可以在bundle文件夹下面看到bundle.js文件


webpack + react 创建项目_第3张图片

五、本地服务器运行网页

为了做一个有点意思的网页,我们在之前创建的index.jsx文件中写入:

import React from 'react';
import {render} from 'react-dom';

export default class App extends React.Component{
    render(){
        return(
           
            Great, u successed!
) } } render( , document.getElementById('root') )


index.html



  
    
    react-webpack-demo
  
  
    
 

这里我们就需要用上webpack-dev-server开启服务器,这里需要引入html-webpack-loader:

npm i --save-dev html-webpack-loader

同时介绍一个打开浏览器的插件open-browser-webapck-plugin


npm i --save-dev open-browser-webpack-plugin


webpack.config.js现配置如下:

var HtmlWebpackPlugin = require('html-webpack-plugin');
var OpenBrowserWebpackPlugin = require('open-browser-webpack-plugin');

module.exports={
  ......
  plugins:[
    new HtmlWebpackPlugin({
       template:__dirname+'/app/index.html',
    }),
    new OpenBrowserWebpackPlugin({
       url:'http://localhost:8080',
    })
  ]
}

webpack + react 创建项目_第4张图片

现在,输入

npm start

就可以看到如下效果了:


webpack + react 创建项目_第5张图片

最后,别问我为啥用大粉因为好看!

--------------------------------------------------------------------------------------------------

--------------------------------------------分割线---------------------------------------------

听说百度的人都加班到10点,那我起码也得10点01吧.............

--------------------------------------------分割线---------------------------------------------

--------------------------------------------------------------------------------------------------

你可能感兴趣的:(webpack + react 创建项目)