• Dva+Antd创建React项目(一)


    一直在使用 antd pro 简单粗暴地做前端项目,最近有个项目需要自己构建,从0做起太麻烦,我选择了dva-cli。创建项目期间也遇到不少问题,最后也都得到了解决。思前想后还是做一次记录,希望对大家创建项目有一定的帮助。如果不知道dav的,可以去官网先了解一下:https://dvajs.com/guide 。

    一、安装

    // Windows
    npm install dva-cli -g
    // Mac
    sudo npm install dva-cli -g

    二、创建应用

    通过"dva new +项目名称"创建新的项目,项目名称不要包含大写字母,可以用连接符拼接。如下,我创建的项目名称是my-app

    dva new my-app

    然后 cd 到创建的项目下,执行下面的操作

    npm install 

    三、启动项目

    npm start

    默认端口是8000,在浏览器上打开 http://localhost:8000/ ,就能看到下面的页面。

     

    四、一个简单的react项目就搭建起来了。但是还并不是很完善。现在我们来完成一下基础的配置:

    1.如何改动项目端口?

    在 package.json文件里的scripts下找到start键值对,"start": "roadhog server"。官方的修改是这样的:

    // os,linux
    "start": "PORT=3000 roadhog server"
    // windows
    "start": "set PORT=3000 && roadhog server"
    // 使用cross-env  需要先下载cross-env
    "start": "cross-env PORT=3000 roadhog server"

    2.使用antd

    通过 npm 安装 antd 和 babel-plugin-import 。babel-plugin-import 是用来按需加载 antd 的脚本和样式的。

    npm install antd babel-plugin-import --save

    编辑 .webpackrc,使 babel-plugin-import 插件生效。

    {
    ...
    "extraBabelPlugins": [
          ["import", { "libraryName": "antd", "libraryDirectory": "es", "style": "css" }]
        ],
    }

    使用的时候,可以在页面直接引入:

    import { Button } from 'antd';

    3.改写 .webpackrc

    .webpackrc 也可以加上文件后缀,变成 .webpackrc.js 上文件后缀。这样的话可以引入一些配置,通过 export default 导出,如下是我的一些配置。

    const path = require('path');
    function resolve (dir) {
      return path.join(__dirname, dir)
    }
    
    export default{
      //  "proxy": {
      //       "/apis": {
      //       "target": " https://cnodejs.org",
      //       "changeOrigin": true,
      //       "pathRewrite": { "^/apis" : "" }
      //       }
        // },
        extraBabelPlugins: [
          ["import", { "libraryName": "antd", "libraryDirectory": "es", "style": "css" }]
        ],
        // disableCSSModules: true,
        alias: {
          "@": resolve('src'),
       },
    }

    注释掉的 proxy 部分可以做代理转发。alias 里做了引入路径的转化。

    4.使用less语言编译。

    roadhog 是自带less编译的,所以你只需要加入 less后缀文件,直接写就行了。不需要下载less的插件了。如果使用sass,就需要下载插件了,我不怎么使用sass,所以没有深究。


    结语:今天先就基础配置记录一下,后续会写配置页面路由,页面布局,以及页面互动的数据流问题!

  • 相关阅读:
    第09组 Beta冲刺(2/5)
    第09组 Beta冲刺(3/5)
    第09组 Beta冲刺(4/5)
    第09组 Beta冲刺(5/5)
    第09组 Beta冲刺(1/5)
    SDN课程阅读作业(2)
    C语言I作业07
    C语言I博客作业05
    C语言I博客作业04
    C语言I博客作业03
  • 原文地址:https://www.cnblogs.com/class1/p/15242911.html
Copyright © 2020-2023  润新知