react全家桶实现招聘app-项目准备(一)
1.1 项目技术
a. 使用react全家桶 + es6 + webpack + antd-mobile
b. 采用模块化、组件化、工程化
c. Node + express + mongodb + socketIO
1.2 开始项目
项目源码设计
1.2.1 移动端在处理点击事件的时候,会有300毫秒的延迟。恰恰是这300毫秒的延迟,会让人有一种卡顿的体验。所以在index.html中引入插件fastclick
<script>if ('addEventListener' in document) {document.addEventListener('DOMContentLoaded', function() {FastClick.attach(document.body);}, false);}if(!window.Promise) {document.writeln('<script src="https://as.alipayobjects.com/g/component/es6-promise/3.2.2/es6-promise.min.js"'+'>'+'<'+'/'+'script>');}
复制代码
2 组件打包
2.1 安装依赖
npm install --save-dev babel-plugin-import react-app-rewired
复制代码
2.2 在更目录下建立 config-overrides.js
const {injectBabelPlugin} = require('react-app-rewired');module.exports = function override(config, env) {config = injectBabelPlugin(['import', {libraryName: 'antd-mobile', style: 'css'}],config);return config;}
复制代码
修改配置: package.json
"scripts": {"start": "react-app-rewired start","build": "react-app-rewired build","test": "react-app-rewired test --env=jsdom","eject": "react-scripts eject"}
复制代码
在index.js中写入
import React from 'react'import ReactDOM from 'react-dom'import {Button} from 'antd-mobile'ReactDOM.render(<Buttontype='primary'>招聘</Button>,document.getElementById('root'))
复制代码
2.3 将主体的背景颜色从 blue 变为 green
添加less-loader要加上版本@2.7.3,否则会加载最新版本, 电脑无法运行
npm install --save-dev less@2.7.3 less-loader
复制代码
配置: config-overrides.js
const {injectBabelPlugin, getLoader} = require('react-app-rewired');const fileLoaderMatcher = function (rule) {return rule.loader && rule.loader.indexOf(`file-loader`) != -1;
}module.exports = function override(config, env) {// babel-plugin-importconfig = injectBabelPlugin(['import', {libraryName: 'antd-mobile',//style: 'css',style: true, // use less for customized theme}], config);// customize themeconfig.module.rules[1].oneOf.unshift({test: /\.less$/,use: [require.resolve('style-loader'),require.resolve('css-loader'),{loader: require.resolve('postcss-loader'),options: {// Necessary for external CSS imports to work// https://github.com/facebookincubator/create-react-app/issues/2677ident: 'postcss',plugins: () => [require('postcss-flexbugs-fixes'),autoprefixer({browsers: ['>1%','last 4 versions','Firefox ESR','not ie < 9', // React doesn't support IE8 anyway],flexbox: 'no-2009',}),],},},{loader: require.resolve('less-loader'),options: {// theme vars, also can use theme.js instead of this.modifyVars: {"@brand-primary": "#1cae82", // 正常"@brand-primary-tap": "#1DA57A", // 按下},},},]});// css-modulesconfig.module.rules[1].oneOf.unshift({test: /\.css$/,exclude: /node_modules|antd-mobile\.css/,use: [require.resolve('style-loader'),{loader: require.resolve('css-loader'),options: {modules: true,importLoaders: 1,localIdentName: '[local]___[hash:base64:5]'},},{loader: require.resolve('postcss-loader'),options: {// Necessary for external CSS imports to work// https://github.com/facebookincubator/create-react-app/issues/2677ident: 'postcss',plugins: () => [require('postcss-flexbugs-fixes'),autoprefixer({browsers: ['>1%','last 4 versions','Firefox ESR','not ie < 9', // React doesn't support IE8 anyway],flexbox: 'no-2009',}),],},},]});// file-loader excludelet l = getLoader(config.module.rules, fileLoaderMatcher);l.exclude.push(/\.less$/);return config;
};复制代码
结语 后续更新中...
完整项目地址:github.com/hongzhengzh…
react全家桶实现招聘app-项目准备(一)相关推荐
- 酷狗音乐- Vue / React 全家桶的两种实现
引言 两个月前用 Vue 全家桶实现过一次 酷狗音乐,最近又用 React 全家桶重构了下,最终成果和 Vue的实现基本一致,放个图: 手机预览戳 Vue 版本, React 版本. demo 选择 ...
- react全家桶从0搭建一个完整的react项目(react-router4、redux、redux-saga)
react全家桶从0到1(最新) 本文从零开始,逐步讲解如何用react全家桶搭建一个完整的react项目.文中针对react.webpack.babel.react-route.redux.redu ...
- React全家桶项目
开篇 利用业余时间,做了个React项目,算是成品吧,比较简单,还有很多瑕疵.目录结构相当简单.没有数据库,你们运行不起来.想运行起来的话,把express调用数据库的部分全删掉,写死数据. ak47 ...
- 基于React全家桶开发「网易云音乐PC」项目实战(一)
网易云音乐PC项目实战 项目简介 1.项目介绍 项目使用到的技术栈 CSS使用Flex进行布局 配置路径别名使用: carco 项目路由使用: react-router来管理 使用react-rout ...
- 如何实现一个React全家桶项目(附完整教程及代码)
文章目录 如何实现一个React全家桶项目(附完整教程) 1.相关命令: 运行项目: `yarn start` 项目打包: `yarn build` 暴露配置项: `yarn eject` 2.项目目 ...
- 从零搭建React全家桶框架教程
从零搭建React全家桶框架教程 源码地址:https://github.com/brickspert/react-family 欢迎star 提问反馈:blog 原文地址:https://githu ...
- react全家桶从0到1(react-router4、redux、redux-saga)
本文从零开始,逐步讲解如何用react全家桶搭建一个完整的react项目.文中针对react.webpack.babel.react-route.redux.redux-saga的核心配置会加以讲解, ...
- 使用react全家桶制作博客后台管理系统
前面的话 笔者在做一个完整的博客上线项目,包括前台.后台.后端接口和服务器配置.本文将详细介绍使用react全家桶制作的博客后台管理系统 概述 该项目是基于react全家桶(React.React-r ...
- 初学者的React全家桶完整实例
概述 该项目还有些功能在开发过程中,如果您有什么需求,欢迎您与我联系.我希望能够通过这个项目对React初学者,或者Babel/webpack初学者都有一定的帮助.我在此再强调一下,在我写的这些文章末 ...
最新文章
- Powershell指令集_2
- <java并发编程实践>读书笔记二
- 腾讯云安装samba服务器无法连接问题
- 成功解决ModuleNotFoundError: No module named 'keras_retinanet.utils.compute_overlap'
- C语言高级编程:sizeof计算数组大小需要注意的问题
- 最新70佳单页网站设计案例欣赏(上篇)
- JAVA知识基础(七):封装
- 从云服务器上拷贝文件,从云服务器上拷贝文件
- XP系统桌面图标透明问题的解决办法
- 学习总结 java 创建及其练习
- 堆插入和删除的简单实现
- 2017软件构造3.3
- 使用ApiPost按顺序传参及测试多个接口
- 无线传感器网络中的MAC协议
- PHP微信h5棋牌搭建sprintf()函数的使用
- cad画流程图的插件_CAD高手教您画工艺流程图设计一些列图
- ZJUT 2012校赛决赛-涂颜色
- 简单使用python进行图像打标
- 施炜:华为为什么能成功?
- Dell 工作站故障诊断报警信息原因查询
热门文章
- ios退款 怎么定位到是哪个用户_哪个浏览器兼容性最好用?看看用户都是怎么评价的吧...
- wordpress主题webstack pro V2.0406 完美版
- vue怎么编辑已有视频_手机制作短视频、VLOG用啥App?~~
- html怎么控制进度条,HTML如何实现进度条?附源码
- HTML二刺螈网址导航模板
- 苹果CMS萝卜二开修复渐变绿影视原生App源码-投屏试看可用
- 夏日清凉小风扇网站源码 抖音引流神器
- WHMCS v8.0 bate1开心版源码
- 自动采集电脑壁纸PHP源码美化版
- 价值800的swapidc鸟云模板