• Stars
    star
    123
  • Rank 290,145 (Top 6 %)
  • Language
    JavaScript
  • License
    MIT License
  • Created about 8 years ago
  • Updated almost 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

a Starter-Kit for React-ES6-Webpack(2.x) Project

Introduction

This repository is an universal React-ES6-Webpack boilerplate for developer to quickly build a super fast and powerful web app that can be rendered on the client using the most cutting-edge technology. Compared to others, this boilerplate has more pithily and more elegant configuration file based on environment variables, one for development, one for production.

Technology Stack

  • React
  • React-Router
  • ES6
  • jQuery
  • antd
  • Less
  • AnimateCSS
  • moment
  • Ajax
  • Mock
  • ECharts
  • Babel
  • Webpack
  • Yarn

Getting Started

安装Yarn $ npm install -g yarn
安装依赖 $ yarn
启动服务 $ yarn start
生成文件 $ yarn run build

Notes

  • JSX 的基本语法规则:遇到 HTML 标签(以 < 开头),就用 HTML 规则解析;遇到代码块(以 { 开头),就用 JavaScript 规则解析
  • 组件类的第一个字母必须大写
  • 组件类只能包含一个顶层标签
  • 组件的属性可以在组件类的 this.props 对象上获取
  • class 属性需要写成 className ,for 属性需要写成 htmlFor
  • this.props.children 属性表示组件的所有子节点
  • this.props.children 的值有三种可能:如果当前组件没有子节点,它就是 undefined ;如果有一个子节点,数据类型是 object ;如果有多个子节点,数据类型就是 array
  • React 提供一个工具方法 React.Children 来处理 this.props.children 。我们可以用 React.Children.map 来遍历子节点
  • 由于 this.refs.[refName] 属性获取的是真实 DOM ,所以必须等到虚拟 DOM 插入文档以后,才能使用这个属性,否则会报错
  • this.props 表示那些一旦定义,就不再改变的特性,而 this.state 是会随着用户互动而产生变化的特性
  • 我们写一个XML标签,实质上就是在调用 React.createElement 这个方法,并返回一个 ReactElement 对象
  • 渲染HTML标签,声明变量采用 首字母小写
  • 渲染React组件,声明变量采用 首字母大写
  • 当需要拓展我们的属性的时候,定义个一个属性对象,并通过 {…props} 的方式引入
  • 属性值使用表达式,只要用 {} 替换 ""
  • 在一个组件的子元素位置使用注释要用 {} 包起来
  • 直接在标签上使用style属性时,要写成style={{}}是两个大括号
  • margin-top要写成marginTop
  • 如果需要使用自定义属性,要加 data- 前缀
  • 在编写JSX时,在 { } 中不能使用语句(if语句、for语句等等),但可以使用求值表达式
  • map遍历的时候,需要为每一条记录添加key
  • 在ES6里,我们通过定义一个继承自React.Component的class来定义一个组件类
  • 给组件定义方法不再用 名字: function()的写法,而是直接用名字(),在方法的最后也不能有逗号了
  • 在ES6下,你需要通过bind来绑定this引用,或者使用箭头函数(它会绑定当前scope的this引用)来调用
  • sources下,点开可以看到webpack:目录,里面可以直接看到我们开发态的源代码,方便调试
  • "build": "rimraf app/dist && webpack -p --env.config production" 先清除dist目录

Articles

License

MIT

More Repositories

1

vue-seed

a boilerplate for large vue project with ElementUI 2.x
JavaScript
581
star
2

reactSPA

A Demo SPA developed with React, ES6, Webpack (2.x), and Antd (1.0.1) 【move to react-seed】
JavaScript
513
star
3

suanban

A web app developed with Vue2.0 and Douban API
JavaScript
60
star
4

webpack-starter-kit

a starter kit for building SPA with Webpack(2.x)
JavaScript
44
star
5

vue-have-done

A web app developed with Vue2.0 and Element Components
JavaScript
16
star
6

vue-starter

a vue admin template built for front-end developers
Vue
15
star
7

node-lab

creating little funny things with node.js
JavaScript
8
star
8

heatmap

generate a heatmap with Baidu Map API
HTML
6
star
9

node-spider

get ssr qr code with node.js, just for study purpose
JavaScript
5
star
10

ngApp

a SPA with Angular(1.x), RequireJs, Highcharts, and AngularUI
JavaScript
5
star
11

Grocery

a collection of simple demos of Canvas
CSS
4
star
12

gulp-starter-kit

a starter kit for developing SPA with Npm & Gulp
JavaScript
3
star
13

baipress

a technical documentation for FE developers with VuePresss
JavaScript
3
star
14

interview-questions

interview questions for front-end developers
3
star
15

vue-seeds

a boilerplate for vue multi-page project
Vue
2
star
16

ngForm

Form & Tabel with AngularJs
HTML
2
star
17

keeper

record your daily life everyday
JavaScript
2
star
18

lego

Create a page by dragging and drop
Vue
2
star
19

json-preview

preview your mock json data online
HTML
2
star
20

xball

a small h5 game
Vue
2
star
21

vue-egg-mysql

practise egg and mysql
JavaScript
1
star
22

shaker

抖一抖
Vue
1
star
23

electron-vue-starter

a template with vue & electron
JavaScript
1
star
24

vite-starter

a vue template powered by vite
Vue
1
star
25

cube

three 3d cubes developed with three.js
JavaScript
1
star
26

b-danmakus

get danmakus from Bilibili's video
JavaScript
1
star
27

theme-starter

a vue-element template that can change theme colors
Vue
1
star