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,所以没有深究。


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

原文地址:https://www.cnblogs.com/class1/p/15242911.html