首页 > 其他分享 >构建react项目

构建react项目

时间:2024-05-11 15:09:32浏览次数:23  
标签:React const less 项目 react craco 构建 import

1 ,建立工程的2种方式

1)用npm  npx react-create-app xxx

2) 用脚手架  creacte-react-app xxx【推荐】

 

2, 更换项目图标和title(属于公共的东西在public文件夹里面)

  public/favicon.ico

  public/index.html

 

3,创建react函数组件代码片段

文件->首选项->设置用户代码片段->全局->.vscode\rmc.code-snippets

{     "全局React函数组件模板": {         "scope": "javascript,typescript,javascriptreact,typescriptreact",         "prefix": "rmc",         "body": [             "import React, {memo} from 'react';",             "",             "const ${1:App}= memo(() => {",             "return (",             "",             "<div>${1:App}</div>",             ")",             "})",             "",             "export default ${1:App}",             ""         ],         "description": "React函数组件默认模版"     } }   4,增加jsconfig.json  增加智能提示 {   "compilerOptions": {     "target": "es5",     "module": "esnext",     "baseUrl": "./",     "moduleResolution": "node",     "paths": {       "@/*": [         "src/*"       ]     },     "jsx": "preserve",     "lib": [       "esnext",       "dom",       "dom.iterable",       "scripthost"     ]   } }   5 ,craco【create-react-app-config】工具配置别名(react脚手架隐藏webpack) 1)安装 npm install @craco/craco@alpha -D 2)创建craco.config.js const path=require('path') const resolve=pathname=>path.resolve(__dirname,pathname) module.exports={     //webpack     webpack:{         alias:{             '@':resolve('src'),             'components':resolve('src/components'),             'untils':resolve('src/untils')         }     } } 3)更改启动方式package.json "scripts": {     "start": "craco start",     "build": "craco build",     "test": "craco test",     "eject": "react-scripts eject"   }, //当执行npm run start  就会用craco启动项目  ,将自定义craco配置和webpack原来的配置做个合并  craco配置就生效了   6 ,配置less

Ant Design样式库(react ui框架)NO.1

官网:https://4x.ant.design/docs/react/use-with-create-react-app-cn

配置craco-less

安装:npm i [email protected]

craco.config.js

引入:const CracoLessPlugin = require('craco-less');

module.exports对象中增加

plugins: [ { plugin: CracoLessPlugin, options: { lessLoaderOptions: { lessOptions: { modifyVars: { '@primary-color': '#1DA57A' }, javascriptEnabled: true, }, }, }, }, ],

7,样式重置

normalize.css  ->直接安装 npm install normalize.css 在index.js中引入

asset/css

variables.less  定义less变量

@textColor:'#484848'

@textColorSecondary:'#222'

reset.less

可以使用less变量

导入@import './variables.less'

indes.less 作为css的统一导入文件 @import './reset.less'

在index.js中引入

8,配置路由

安装:npm install react-router-dom

1)index.js 全局引入

import React,{Suspense} from 'react';

import {HashRouter} form 'react-router-dom';

 <Suspense fallback='loading'>     <HashRouter>       <App />  </HashRouter> 2)定义路由 route/routes.js import React from "react"; import { Navigate } from "react-router-dom";
const Home = React.lazy(() => import("@/view/home")); const Detail = React.lazy(() => import("@/view/detail")); const Entries = React.lazy(() => import("@/view/entries")); const routes = [     {         path: '',         element: <Navigate to='/home'/>     },     {         path: '/home',         element: <Home/>     },     {         path: '/detail',         element: <Detail/>     },     {         path: '/entries',         element: <Entries/>     },
]; export default routes;   3)在App.js中使用路由 import { useRoutes } from 'react-router-dom'; import routes from '@/router'; function App() {   return (     <div className="App">       {useRoutes(routes)}     </div>   ); }
export default App;

 

 

   

 

标签:React,const,less,项目,react,craco,构建,import
From: https://www.cnblogs.com/fanjiawen/p/18186420

相关文章

  • 璞华科技中标苏州工业园区“科技发展公司运营管理系统”升级改造项目
    近日,璞华科技中标苏州工业园区科技发展有限公司“科技发展公司运营管理系统”升级改造项目。苏州工业园区科技发展有限公司成立于2000年,是苏州工业园区管委会直属国有企业,聚焦以人工智能为引领的数字经济产业创新集群,重点布局集成电路设计、智能网联、工业软件、ITBT、大数据等......
  • 【坑】严重性 代码 说明 项目 文件 行 禁止显示状态 错误 NETSDK1141 无法解析位于 E:
    错误严重性代码说明项目文件行禁止显示状态错误NETSDK1141无法解析位于E:\firefox\WPF-Samples-main\WPF-Samples-main\global.json的global.json中指定的.NETSDK版本。DragDropObjectsC:\ProgramFiles\dotnet\sdk\8.0.202\Sdks\Microsoft.NET.Sdk\targets\M......
  • springboot项目服务器访问速度慢-可能的解决方法
    springboot项目部署在服务器后,访问很慢或无法访问问题使用宝塔界面,尝试将打包后的jar包部署在服务器上运行时,发现访问速度不是很快,或者是直接访问不到。访问不到对应端口的springboot服务80端口也无法访问首次访问加载慢的解决方法修改jre文件找到安装的jre目......
  • 构建无服务器数仓(二)Apache DolphinScheduler 集成以及 LOB 粒度资源消费分析
    引言在数据驱动的世界中,企业正在寻求可靠且高性能的解决方案来管理其不断增长的数据需求。本系列博客从一个重视数据安全和合规性的B2C金融科技客户的角度来讨论云上云下混合部署的情况下如何利用亚马逊云科技云原生服务、开源社区产品以及第三方工具构建无服务器数据仓库的解......
  • IDA Pro - 大名鼎鼎的交互式反汇编工具+SCons - 嵌入式项目里最常用的自动化构建工具
    1、libjpeg-广泛使用的JPEG编解码库libjpeg是一个完全用C语言编写的库,包含了被广泛使用的JPEG解码、JPEG编码和其他的JPEG功能的实现。这个库由独立JPEG工作组维护。项目源码:http://www.ijg.org/files/2、FatFs-面向小型嵌入式系统的FAT文件系统FatFs是日本的大......
  • [附源码+文档]Java Swing小游戏源码合集(14款)_毕业设计必选项目
    (小众游戏塔防迷宫动作剧情类等)16款游戏源码Javaswing五子棋联网版源代码Javaswing贪吃蛇游戏开发教程+源码Javaswing超级玛丽游戏Javaswing俄罗斯方块项目源码Javaswing飞机大战游戏源码Javaswing雷电游戏源码Javaswing连连看游戏源码Javaswing模拟写字板源码......
  • vue和react的相同点和不同点
    Vue和React作为现代前端开发中流行的两个JavaScript框架,它们有诸多相似之处,同时也存在一些关键性的不同。以下是Vue和React的一些主要相同点和不同点:相同点:虚拟DOM:Vue和React都使用虚拟DOM(VirtualDOM)来提高性能,减少直接操作真实DOM的频率,从而加快页面渲染速度。组件化开发:两......
  • Vue+elementUI-创建项目
    创建VUE项目vuecreatemy-project后会出现选项,反正我选择的是自定义创建,第三个  之后选2.X选一堆配置,案子自己需求配置然后 然后进入到我们的项目目录,可以运行   这个安装好了以后,到element.ui的官方文档地址:https://element.eleme.cn/#/zh-CN/compo......
  • Docker容器与守护进程运维 --项目四
    一、Docker容器配置进阶 1、容器的自动重启Docker提供重启策略控制容器退出时或Docker重启时是否自动启动该容器。容器默认不支持自动重启,要使用 --restart 选项指定重启策略。作用:容器自动重启;重启策略能够确保关联的多个容器按照正确的顺序启动。容器重启选项值:重启......
  • 01 创建项目
    通过HBuilderX创建在HBuilderX工具里面直接创建即可安装uni-appvue3编译器插件如果是小程序,还需要下面的一些配置设置微信开发者工具安装地址开启服务端口命令行创建uni-app项目1创建:创建以typescript开发的工程npxdegitdcloudio/uni-preset-vu......