目录结构

asset/

  • css/
  • img/

src/

  • entry.js ------------------------ 入口文件

.babelrc

index.html

package.json

webpack.config.js

运行命令

  1. 安装依赖:npm install
  2. 运行项目:npm start

配置预览

package.json:

{
"name": "react_webpack_demo",
"version": "1.0.0",
"description": "a demo using react and webpack",
"main": "index.js",
"scripts": {
"start": "webpack-dev-server --port 8080 --hot --inline --progress --colors --devtool eval"
},
"author": "Ruth",
"license": "ISC",
"devDependencies": {
"babel-core": "^6.18.2",
"babel-loader": "^6.2.7",
"babel-preset-es2015": "^6.18.0",
"babel-preset-react": "^6.16.0",
"css-loader": "^0.25.0",
"extract-text-webpack-plugin": "^1.0.1",
"node-sass": "^3.11.2",
"react-router": "^3.0.0",
"sass-loader": "^4.0.2",
"style-loader": "^0.13.1",
"webpack": "^1.13.3",
"webpack-dev-server": "^1.16.2"
},
"dependencies": {
"react": "^15.3.2",
"react-dom": "^15.3.2"
}
}

webpack.config.js:

var webpack = require('webpack');

// css 单独打包,使用该插件后就不需要配置style-loader了
// 本来是内联在最终的网页里,现在通过外联方式,可以在/dist文件夹下找到单独的css文件
var ExtractTextPlugin = require('extract-text-webpack-plugin'); module.exports = {
entry: {
index: './src/entry.js', // 唯一的入口文件
vendor: ['react'] // 这里是依赖的库文件配置,和CommonsChunkPlugin配合使用可以单独打包
},
output: {
path: '/dist', //打包后的文件存放的地方
filename: 'bundle.js',
publicPath: 'http://localhost:8080/dist/' //启动本地服务后的根目录
},
devServer: {
historyApiFallback: true,
hot: true,
inline: true,
progress: true
},
resolve: {
extensions: ['', '.js', '.jsx']
},
module: {
loaders: [{
test: /\.(js|jsx)$/,
loader: 'babel',
// 可以单独在当前目录下配置.babelrc,也可以在这里配置
query: {
// presets: ['es2015', 'react']
},
// 排除 node_modules 下不需要转换的文件,可以加快编译
exclude: /node_modules/
}, {
test: /\.css$/,
loader: ExtractTextPlugin.extract("style", "css")
}, {
test: /\.scss$/,
loader: ExtractTextPlugin.extract("style", "css!sass")
}, {
test: /\.(png|jpg|gif)$/,
loader: 'url?limit=819200'
}]
},
plugins: [
new ExtractTextPlugin('main.css'),
new webpack.optimize.CommonsChunkPlugin({
name: 'vendor',
filename: 'vendor.js'
})
]
};

.babelrc:

{
"presets": [
"react",
"es2015"
],
"plugins": []
}

其他

需要更多其它配置,请参考 webpack_scaffold

github地址:react\_webpack\_scaffold

参考资源

  1. 掘金-react 搜索

  2. 【资料汇总】React (中文)

  3. React.js 2016 最佳实践

  4. React.js 教程

  5. React.js 官网

  6. 十分详细的React入门实例

后记

搞配置的过程中,一直报错,原来是自己没有安装 babel-preset-es2015 和 babel-preset-react,导致即使在 .babelrc 中已经配置了还报错T_T,具体参看 Babel 入门教程

极简版 react+webpack 脚手架的更多相关文章

  1. Underscore源码阅读极简版入门

    看了网上的一些资料,发现大家都写得太复杂,让新手难以入门.于是写了这个极简版的Underscore源码阅读. 源码: https://github.com/hanzichi/underscore-an ...

  2. 200行代码实现简版react🔥

    200行代码实现简版react

  3. js消除小游戏(极简版)

    js小游戏极简版 (1) 基础布局 <div class = "box"> <p></p> <div class="div&qu ...

  4. SimpleThreadPool极简版

    package com.dwz.concurrency.chapter13; import java.util.ArrayList; import java.util.LinkedList; impo ...

  5. 纯粹极简的react状态管理组件unstated

    简介 unstated是一个极简的状态管理组件 看它的简介:State so simple, it goes without saying 对比 对比redux: 更加灵活(相对的缺点是缺少规则,需要 ...

  6. react diff 极简版

    为什么react这么快呢 ? 因为react用了虚拟DOM: 但是每次虚拟DOM转真实DOM不也是很浪费性能吗 ? nice,所以关键点在Diff算法这里,去对比新旧DOM树,而后通过补丁去更新到真实 ...

  7. 极简版ASP.NET Core学习路径及教程

    绝承认这是一个七天速成教程,即使有这个效果,我也不愿意接受这个名字.嗯. 这个路径分为两块: 实践入门 理论延伸 有了ASP.NET以及C#的知识以及项目经验,我们几乎可以不再需要了解任何新的知识就开 ...

  8. 【极简版】SpringBoot+SpringData JPA 管理系统

    前言 只有光头才能变强. 文本已收录至我的GitHub仓库,欢迎Star:https://github.com/ZhongFuCheng3y/3y 在上一篇中已经讲解了如何从零搭建一个SpringBo ...

  9. 【极简版】OpenGL 超级宝典(第五版)环境配置 VS2010

    事先声明:该教程仅适用于VS2010环境下超级宝典第五版的配置 第一步:下载示例代码和环境包: 链接:https://pan.baidu.com/s/1llRRQ8ymBgMGuXp5M50pJw 提 ...

随机推荐

  1. 【Tomcat】Tomcat Session在Redis共享

    参考的优秀文章 Redis-backed non-sticky session store for Apache Tomcat 简单地配置Tomcat Session在Redis共享 我使用的是现有的 ...

  2. CentOS7 基础配置

    Centos 7 部分>>>>>>>>>>>>>>>>>>>>>>& ...

  3. [渣译文] 使用 MVC 5 的 EF6 Code First 入门 系列:实现基本的CRUD功能

    英文渣水平,大伙凑合着看吧…… 这是微软官方SignalR 2.0教程Getting Started with Entity Framework 6 Code First using MVC 5 系列 ...

  4. Keycode对照表

    字母和数字键的键码值(keyCode) 按键 键码 按键 键码 按键 键码 按键 键码 A 65 J 74 S 83 1 49 B 66 K 75 T 84 2 50 C 67 L 76 U 85 3 ...

  5. 用 python 实现各种排序算法(转)

    常见几种排序的算法: 归并排序 归并排序也称合并排序,是分治法的典型应用.分治思想是将每个问题分解成个个小问题,将每个小问题解决,然后合并. 具体的归并排序就是,将一组无序数按n/2递归分解成只有一个 ...

  6. Physx入门

    [疑问] 1.Physx中的场景有大小的概念么?如果有大小,那么场景中的刚体超出场景边界之后, 如何定义之后的行为. 2.如何给一个刚体增加动量?目前的接口只看到设置速度或者增加作用力.

  7. Excel 2013中单元格添加下拉列表的方法

    使用Excel录入数据的时候我们通常使用下拉列表来限定输入的数据,这样录入数据就很少发生错误了.Excel 2013较以前的版本发生了很大的变化,那么在Excel 2013是如何添加下拉列表的呢? 下 ...

  8. VMware克隆后,网卡若干问题

    网卡问题 由于克隆虚拟机,vmware只是修改了虚拟机的名字等信息,并没有修改虚拟硬盘中的任何信息, 导致克隆后网卡的MAC地址和操作系统中记录的mac地址不符,导致eth0启动不起来. 操作系统记录 ...

  9. iOS 视图控制器转场详解

    iOS 视图控制器转场详解 前言的前言 唐巧前辈在微信公众号「iOSDevTips」以及其博客上推送了我的文章后,我的 Github 各项指标有了大幅度的增长,多谢唐巧前辈的推荐.有些人问我相关的问题 ...

  10. DbUtils常用API的使用 方便以后查阅

    package com.lizhou.Test; import java.sql.SQLException; import java.util.List; import java.util.Map; ...