React全家桶(二)——项目注意工程搭建

一、基础插件安装,less文件加载配置

安装所需插件

  • 安装react-router、axios
yarn add react-router-dom axios 
  • 安装antd
yarn add antd
  • 暴露webpack配置文件
yarn eject

  

  • 安装less-loader
yarn add less less-loader

  

  • 修改less-loader

 yarn add node-sass sass-loader -D

yarn add less less-loader -D
yarn eject

在webpack.config.js文件中

const sassRegex = /\.(scss|sass)$/;
const sassModuleRegex = /\.module\.(scss|sass)$/;
在下面新增两条
const lessRegex = /\.less$/;
const lessModuleRegex = /\.module\.less$/;

   {
              test: sassRegex,
              exclude: sassModuleRegex,
              use: getStyleLoaders(
                {
                  importLoaders: 2,
                  sourceMap: isEnvProduction && shouldUseSourceMap,
                },
                'sass-loader'
              ),
              sideEffects: true,
            },
              //对应的增加一条
                
               {
              test: lessRegex,
              exclude: sassModuleRegex,
              use: getStyleLoaders(
                {
                  importLoaders: 2,
                  sourceMap: isEnvProduction && shouldUseSourceMap,
                },
                'less-loader'
              ),
              sideEffects: true,
            },
                  {
              test: sassModuleRegex,
              use: getStyleLoaders(
                {
                  importLoaders: 2,
                  sourceMap: isEnvProduction && shouldUseSourceMap,
                  modules: true,
                  getLocalIdent: getCSSModuleLocalIdent,
                },
                'sass-loader'
              ),
            },
                //对应的增加一条
            {
              test: lessModuleRegex,
              use: getStyleLoaders(
                {
                  importLoaders: 2,
                  sourceMap: isEnvProduction && shouldUseSourceMap,
                  modules: true,
                  getLocalIdent: getCSSModuleLocalIdent,
                },
                'less-loader'
              ),
            },

运行的时候发现Error: Cannot find module '@babel/core'错误

//更新到最新版本就可以了
npm install -D babel-loader @babel/core @babel/preset-env webpack

 antd按需加载

按需加载antd(npm i babel-plugin-import)便于前端性能优化

 
//找到 oneOf下面的test:/\.(js|mjs|jsx|ts|tsx)$/, 然后再plugins里面添加代码:
 test: /\.(js|mjs|jsx|ts|tsx)$/,
              include: paths.appSrc,
              loader: require.resolve('babel-loader'),
              options: {
                customize: require.resolve(
                  'babel-preset-react-app/webpack-overrides'
                ),

//在plugins里添加
[
                    'import',{"libraryName":"antd",style:true}
                  ]

cannot find module 'xxx' 解决办法

解决方法

1.删除 node_modules 文件夹
2.运行 yarn
3.重新 npm start

二、项目主要结构开发

1、页面结构定义

布局:

1)整体分为左右两部分

2)右侧又分为上中下三部分,(header+内容+footer)

3)不同的页面,左侧菜单和右侧的header\footer部分是不变的,变化的是中间内容部分

2、目录结构定义

components目录存放公共组件

  header

  footer

  navleft

pages目录存放页面

style目录存放公共样式

  common.less

config目录

resource存放资源文件

utils目录存放公共方法

https://blog.csdn.net/weixin_33890499/article/details/91868069

3、栅格系统使用

 

4、calc计算方法使用

 

三、菜单组件开发

antd

四、头部组件开发

当前时间

天气

五、底部组件开发

底部组件布局

Home页面实现

使用CSS实现箭头图标

https://blog.csdn.net/weixin_44371012/article/details/89738460

posted @ 2019-11-01 17:46  蓝裙子  阅读(487)  评论(0编辑  收藏  举报