一个 React & Redux的目录树
|-----------------------------------------|
| |
| React & Redux |
| |
|-----------------------------------------|
Project
|
|-- node_modules
| |
| |-- react
| |
| |-- react-dom
| |
| |-- react-router
| |
| |-- react-redux => redux本身只能处理同步的Action
| |
| |-- react-thunk => 在我们没有加上thunk这个中间件之前,
| | store的dispatch方法只能传入一个action对象,
| | thunk的作用就是能够让我们可以将一个function方法传入diptach,
| | 这在做异步的时候非常有用。
| |
| |-- redux-promise => redux-promise支持将promise对象作为参数传入dispatch中。
| |
| |-- prop-types => React.PropTypes 自 React v15.5 起已弃用。
| | 请使用 prop-types 库代替。调用方法:
| | import PropTypes from 'prop-types'
| |
| |-- @types/react => implements method in React.Component,解决
| | Cannot resolve symbol 'Component' 的问题
| |
| |-- postcss-loader => PostCSS,一款通过 JS 插件转换 styles 样式的工具。
| | 根目录下新建postcss.config.js文件。配置如下:
| | module.exports = {
| | parser: 'sugarss',
| | plugins: {
| | 'postcss-import': {},
| | 'postcss-cssnext': {},
| | 'cssnano': {}
| | }
| | }
| | webpack配置:{
| | test: /\.css$/,
| | use: ['style-loader', 'css-loader','postcss-loader']
| | }
| |
| |-- Autoprefixer => PostCSS插件,一个后处理程序。解析CSS并添加浏览器前缀。
| | postcss.config.js文件中配置如下:
| | module.exports = {
| | plugins: [
| | require('autoprefixer')({})
| | ]
| | }
| |
| |-- extract-text-webpack-plugin => 将css单独打包成一个文件。
| | 它会将所有的入口 chunk(entry chunks)中引用的 *.css,
| | 移动到独立分离的 CSS 文件。因此,你的样式将不再内嵌到JS bundle中,
| | 而是会放到一个单独的 CSS 文件(即 styles.css)当中。
| | 如果你的样式文件大小较大,这会做更快提前加载,因为 CSS bundle
| | 会跟 JS bundle 并行加载。
| |
| |-- optimize-css-assets-webpack-plugin => 压缩抽离后的css代码,
| | plugins: [new OptimizeCssAssetsPlugin()]
| |
| |-- html-webpack-plugin => 该插件将为您生成一个HTML5文件,
| | 其中包括使用script标签的body中的所有webpack包。
| |
| |-- copy-webpack-plugin => 在webpack中拷贝文件和文件夹。例如:
| | new CopyWebpackPlugin([
| | {from: "./src/static/images", to: 'images/'}
| | ])
| | 作用就是将 ./src/static/images
| | 目录下的图片拷到编译目录到 images 文件夹下面
| |
| |-- rimraf => 编译前清空dist目录。package.json配置:
| | "scripts": {"build": "rimraf dist && ..."}
| |
| |-- OpenBrowserPlugin => webpack编译后自动打开浏览器
| |
| |-- axios => 一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中
| |
| |-- babel-eslint => 一个Babel parser的包装器,这个包装器使得Babel parser可以和ESLint协调工作
| | .eslintrc.js中配置:"parser": "babel-eslint",
| | "parserOptions": {
| | "sourceType": "module",
| | "allowImportExportEverywhere": false,
| | "codeFrame": false
| | }
| |
| |-- webpack
| |
| |-- webpack-dev-middleware
| |
| |-- webpack-hot-middleware
|
|-- dist => 打包输出文件目录
|
|-- src
| |
| |-- actions => Action是把数据从应用传到 store 的有效载荷。
| | 它是 store 数据的唯一来源,一般通过
| | store.dispatch() 将 action 传到 store。
| |
| |-- reducers => Action只是描述了有事情发生了这一事实,
| | 并没有指明应用如何更新 state。
| | reducer 用来做更新state这个动作。
| |
| |-- store => 1.维持应用的state;
| | 2.提供 getState() 方法获取 state;
| | 3.提供 dispatch(action) 方法更新state;
| | 4.通过 subscribe(listener) 注册监听器;
| | 5.通过 subscribe(listener) 返回的函数注销监听器。
| |
| |-- components => 展示型组件目录
| |
| |-- containers => 容器型组件目录
| |
| |-- config => 配置actionType、接口
| |
| |-- library => 插件库
| |
| |-- service => 服务配置
| |
| |-- static => 静态文件目录
| |
| |-- main.js => 入口文件
|
|-- webpack => webpack配置目录
|
|-- .babelrc => Bable的配置文件,用来设置转码规则和插件。
| Babel是一个广泛使用的ES6转码器,
| 可以将ES6代码转为ES5代码。
|
|-- .gitignore => git上传忽略特殊文件配置
|
|-- index.html
|
|-- README.md
|
|-- package.json => 定义了这个项目所需要的各种模块,以及项目的配置信息。
|
|-- package-lock.json => npm5.0后新增。记录了整个 node_modules
| 文件夹的树状结构,当重新安装模块的时候,
| 速度加快。但是,生成pack-lock.json后,
| 重复执行npm install时将会以其记录的版本来安装。
| 这时如果手动修改 package.json 中的版本,
| 重新安装也不会生效,只能手动执行npm install
| 命令指定依赖版本来进行修改。
|
|
|-- yarn.lock => yarn.lcok文件是自动产生的,
| 和package-lock.json的功能一样,
| 只不过yarn可以做到手动更改package.json后,
| 重新安装并更新lockfile。
一个 React & Redux的目录树的更多相关文章
- 我的第一个 react redux demo
最近学习react redux,先前看过了几本书和一些博客之类的,感觉还不错,比如<深入浅出react和redux>,<React全栈++Redux+Flux+webpack+Bab ...
- Immutable.js 以及在 react+redux 项目中的实践
来自一位美团大牛的分享,相信可以帮助到你. 原文链接:https://juejin.im/post/5948985ea0bb9f006bed7472?utm_source=tuicool&ut ...
- React+Redux实现追书神器网页版
引言 由于现在做的react-native项目没有使用到redux等框架,写了一段时间想深入学习react,有个想法想做个demo练手下,那时候其实还没想好要做哪一个类型的,也看了些动漫的,小说阅读, ...
- react案例->新闻移动客户端--(react+redux+es6+webpack+es6的spa应用)
今天分享一个react应用,应在第一篇作品中说要做一个react+redux+xxx的应用.已经做完一部分,拿出来分享.github地址为:点我就可以咯~ 这里实现了一个新闻移动站的spa.本来想写p ...
- react+redux教程(二)redux的单一状态树完全替代了react的状态机?
上篇react+redux教程,我们讲解了官方计数器的代码实现,react+redux教程(一).我们发现我们没有用到react组件本身的state,而是通过props来导入数据和操作的. 我们知道r ...
- react,react-router,redux+react-redux 构建一个React Demo
创建初始化应用 加速我们的npm. npm install -g cnpm --registry=https://registry.npm.taobao.org 利用create-react-app ...
- react+redux+generation-modation脚手架添加一个todolist
当我遇到问题: 要沉着冷静. 要管理好时间. 别被bug或error搞的不高兴,要高兴,又有煅炼思维的机会了. 要思考这是为什么? 要搞清楚问题的本质. 要探究问题,探究数据的流动. TodoList ...
- react+redux+generation-modation脚手架搭建一个todolist
TodoList 1. 编写actions.js 2. 分析state 试着拆分成多个reducer 3. 了解store 4. 了解redux数据流生命周期 5. 分析容器组件和展示组件 搞清楚,数 ...
- 使用react+redux+react-redux+react-router+axios+scss技术栈从0到1开发一个applist应用
先看效果图 github地址 github仓库 在线访问 初始化项目 #创建项目 create-react-app applist #如果没有安装create-react-app的话,先安装 npm ...
随机推荐
- 转自 阿里云技术文档的 centos + PHP 环境 搭建
产品亮点 1.基于阿里云CentOS7.2镜像 2.采用yum方式安装,软件安装均为默认目录,未作任何修改. 3.采用经典LAMP组合,拓展性强,资源丰富,解决方案较多 4.附带PhpMyadmin和 ...
- PHP环境搭建-记录
转于 http://jingyan.baidu.com/article/fcb5aff797ec41edaa4a71c4.html php5.5 做了大量的更新,在与apache搭配的时候如何选择也很 ...
- PHP.41-TP框架商城应用实例-后台16-商品属性2-AJAX添加、删除
添加商品属性 思路:根据[后台15]类型表{id,type_name}与属性表{id,attr_name,attr_type,attr_option_values,type_id} 1.建表商品属性 ...
- WPF中的ControlTemplate(控件模板)
原文:WPF中的ControlTemplate(控件模板) WPF中的ControlTemplate(控件模板) ...
- c# string.format和tostring()
字符 说明 示例 输出 C 货币 string.Format("{0:C3}", 2) $2.000 D 十进制 string.Format("{0:D3}", ...
- C#基础--之数据类型【转】
在第一章我们了解了C#的输入.输出语句后,我这一节主要是介绍C#的基础知识,本节的内容也是后续章节的基础,好的开端等于成功的一半.在你阅读完本章后,你就有足够的C#知识编写简单的程序了.但还不能使用继 ...
- php简易实现计划任务
index.php <?php function ceshi(){ $wan = file_get_contents('./wangt_index.txt',true); $jifen = $w ...
- PL/SQL查看表结构
SET LONG 99999;SET LINESIZE 140 PAGESIZE 1000;SELECT DBMS_METADATA.GET_DDL('&OBJECT_TYPE','& ...
- shiro笔记
控制某一角色拥有此选项 上图 标签为shiro:hasRole表示 此时只有admin角色才拥有 系统用户管理和角色管理两个tab 页 上图 标签为shiro:hasPermission表示 此时只有 ...
- Java IO学习--RandomAccessFile
1.什么是 随机访问文件流 RandomAccessFile 这个类在很多资料上翻译成中文都是:随机访问文件,在中文里,随机是具有不确定的含义,指一会访问这里,一会访问那里的意思.如果以这种语义来解释 ...