React 系列文章(1): npm 手动搭建React 运行实例 (新手必看)

摘 要

刚接触React 开发, 在摸索中构建react 运行环境,总会遇到各种坑;本文,将用最短时间解决webpack+react 环境搭建问题.

1、如果你还没有React基础 看这里.

2、如果不知道webpack是啥?请 看这里.

3、如果你还没有装npm 看这里.

 

目 录

一、webpack+react 运行实例.
二、webpack 运行环境配置分析.
三、如何手动搭建一个webpack+react 运行环境.

一、webpack+react 运行实例

1、实例代码

 

2、目录结构

│  index.html     # 输出文件
│  package.json   # 项目信息
│  webpack.config.js # webpack 打包配置
│
└─src
        bundle.js  # 打包输出文件
        index.js    # 入口文件

3、快速运行

1 npm install
2 npm run dev

二、webpack 运行环境配置分析

1、 Index.html  首页入口文件

将项目中全局的样式和打包压缩的文件引入到该页面,React会寻找root节点,将子模块渲染到首页
<html>
<head>
</head>
<body>
   <div id="root"></div>
   <script src="src/bundle.js"></script>
</body>
</html>

2. package.json 项目引用组件管理文件

此文件配置重点注意如下节点:main 指的是入口文件的Js,Scripts 指npm运行的命令, dependencies 配置项目依赖的组件.
{
  "name": "mall-admin",
  "version": "1.0.0",
  "description": "Hello React",
  "main": "index.js",
  "scripts": {
    "dev": "webpack-dev-server --hot --inline"
  },
  "dependencies": {
    "react": "^15.5.4",
    "react-dom": "^15.5.4",
    "webpack": "^1.13.2",
    "webpack-dev-server": "^1.16.1"
  },
  "author": "Shawn",
  "license": "ISC"
}

3.webpack.config.js

该文件为webpack 打包输出文件,entry 入口文件目录设置,output 为打包之后输出bundle.js, loaders 配置为文件加载配置.
var webpack = require('webpack');
var path = require('path');
module.exports = {
  context:path.join(__dirname), // 目录
  entry:"./src/index.js", // 入口文件
  module:{
    loaders:[ // 将ES6 转换为 ES5
      {
        test: /\.js?$/,
        exclude: /(node_modules)/,
        loader: 'babel-loader',
        query: {
          presets: ['react', 'es2015']
        }
      }
    ]
  },
  output:{ // 输出文件配置
    path:__dirname,
    filename:"./src/bundle.js" // 输出文件(打包压缩文件)
  }
};

三、三步搭建运行环境

  1. 搭建好文件结构目录, 编写index.js index.html 运行代码.
  2. 配置package.json 文件,运行npm install.
  3. 配置webpack.config.js 文件,运行 npm run dev.
作者:向雄 
如果对我发表的文章存在疑问或者有更好的建议,可以扫描左边二维码(或者长按识别二维码)加我微信可以相互探讨。
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
 
posted @ 2017-05-20 10:51  xiangxiong  阅读(1022)  评论(0编辑  收藏  举报