当前位置:   article > 正文

案例--react电影小项目_react项目案例

react项目案例

技术栈

使用react框架来完成本次项目的实现,使用技术有如下一些:

nodejs   进行模拟接口数据(代理)

react react-dom

react-router-dom

redux  react-redux  redux-thunk  immutable redux-immutable

styled-components(css作用域)/sass/less/stylus

antd-mobile   ui组件库(移动端)

react-transition-group

axios

http-proxy-middleware

配置装饰器(costomize-cra react-app-rewired) 等等

开发环境

开发环境为:windows

开发工具:vscode/webstorm + jsx插件

开发调试工具:chrome浏览器  react-devtools,redux-devtools

开发运行环境:node环境

代码管理:git

上线环境:linux + nginx

项目初始化

npm i -D customize-cra react-app-rewired  http-proxy-middleware

npm i -S redux react-redux redux-thunk styled-components immutable redux-immutable react-router-dom@5 react-transition-group axios


配置装饰器支持

 装饰器@    es8的预案,现在还没通过。 【类】组件的。

装饰器是一种函数,写成 @函数名。它可以放在类和类方法的定义前面。react脚手架创建的项目【默认是不支持装饰器】,需要手动安装相关模块和添加配置文件。

安装 

npm i -D customize-cra react-app-rewired

修改package.json文件中scripts命令

  1. "scripts": {
  2. "start": "react-app-rewired start",
  3. "build": "react-app-rewired build",
  4. "test": "react-scripts test",
  5. "eject": "react-scripts eject"
  6. }

在项目根目录中添加config-overrides.js配置文件

此文件就是react工程用于增量配置react中的webpack配置,

可以理解为就是webpack.config.js的扩展文件,是给node所用,commonjs规范。

  1. const {resolve}= require('path')
  2. const {addDecoratorsLegacy, override} = require('customize-cra')
  3. const customize = () => (config) => {
  4. config.resolve.alias['@'] = resolve('./src')
  5. return config
  6. }
  7. module.exports = override(
  8. addDecoratorsLegacy(),
  9. customize()
  10. )

 

如果想要用@有代码提示 

jsconfig.json要配置,和vue一样


  跨域解决方案

 jsonp(模拟get)/CORS(跨域资源共享)靠死/代理/iframe/postMessage/window.name/WebSocket

react的代理实现跨域

在配置在src/setupProxy.js文件,并通过npm安装http-proxy-middleware,代理中间件模块

创建 src/setupProxy.js

安装模块

npm i -S http-proxy-middleware

 

 

  1. const {createProxyMiddleware: proxy} = require('http-proxy-middleware')
  2. module.exports = app => {
  3. app.use('/api', proxy({
  4. target: 'http://localhost',
  5. changeOrigin: true,
  6. pathRewrite: {
  7. '^/api': ''
  8. }
  9. }))
  10. }

 

 


项目已在本机中初始化完成,需要在远程仓库中创建git仓库

本机把项目初始化一个git仓库

git init

git add .

git commit -m “说明”

git remote add origin https://远程地址

git push -u origin master(分支)

  • 提交到远程后,在本机开始用分支来进行,不要在master中进行开发,切记

antd-mobile组件库

在线文档:https://mobile.ant.design/docs/react/introduce-cn

antd-mobile是Ant Design的移动规范的 React实现,服务于蚂蚁金服及口碑无线业务。它支持多平台,组件丰富、能全面覆盖各类场景,UI 样式高度可配置,拓展性更强,轻松适应各类产品风格。

  • 在使用前需要先对包进行安装

npm i -S antd-mobile

  • 按需加载组件代码和样式的 babel 插件

// 按需加载  tree-shaking

npm i -D babel-plugin-import

轮播显示

参考地址:https://mobile.ant.design/components/carousel-cn

该功能可以使用antd-mobile中的Carousel组件

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/煮酒与君饮/article/detail/770732
推荐阅读
相关标签
  

闽ICP备14008679号