ant design pro模板_Ant Design Pro 学习笔记

学习笔记

摘要介绍

Ant Design Pro 是一个基于Ant Design搭建起来的模板项目。它提供了两个主要布局:BasicLayout、UserLayout,在布局基础上制作了20多个基础页面,详情见模板介绍段落。

Ant Design Pro 主体代码使用ES2015+语法规则,因此在阅读源码时遇到不理解的语法,可前往相关主页进行查询。在学习笔记中,除非遇到关键的语法点,否则不对语法进行额外说明。

在接下来,将按照以下几个方面介绍项目的相关代码。

......

目录结构

├── mock # 本地模拟数据

├── node_modules # 依赖库

├── public

│ ├── favicon.ico # Favicon

│ └── index.html # HTML 入口模板

├── src

│ ├── common # 应用公用配置,如导航信息

│ ├── components # 业务通用组件

│ ├── e2e # 集成测试用例

│ ├── layouts # 通用布局

│ ├── models # dva model

│ ├── routes # 业务页面入口和常用模板

│ ├── services # 后台接口服务

│ ├── utils # 工具库

│ ├── g2.js # 可视化图形配置

│ ├── polyfill.js # 兼容性垫片

│ ├── theme.js # 主题配置

│ ├── index.js # 应用入口

│ ├── index.less # 全局样式

│ └── router.js # 路由入口

├── tests # 测试工具

├── .editorconfig # 编辑器配置

├── .eslintrc # js代码检测工具

├── .ga # 未知

├── .gitignore # git版本配置

├── .roadhogrc # roadhog配置

├── .roadhogrc.mock.js # roadhog的模拟配置

├── .stylelintrc # css代码审查配置

├── .travis.yml # travis持续构建工具配置

├── package.json # web前端项目配置文件

├── README.md

└──

项目中的几项配置文件

Q:为什么要用编辑器配置?

A:当多人共同开发一个项目的时候,往往会出现大家用不同编辑器的情况。就前端开发者来说,有人喜欢 Sublime,有人喜欢 Webstorm , 也有人喜欢 Atom,还有人喜欢 Vim,HBuilder 等等。各种不同编程语言的开发者喜欢各种不同的编辑器。问题来了,如何让使用不同编辑器的开发者在共同开发一个项目时“无痛”地遵循编码规范(编码风格)?

Q:怎么用编辑器配置?

A:在项目根创建一个名为 .editorconfig 的文件。安装与编辑器对应的 EditorConfig 插件。详情参考编辑器配置

Q:代码检查工具是什么?

A:js的代码检查工具是ESLint,css的代码检查工具是StyleLint,相应的配置项保存在.eslintrc和.stylelintrc文件中。一般来说,都不需要进行修订,深入学习可参考js代码检测工具、css代码审查配置

Q:git是什么?

A:git是版本控制工具,类似的工具还有svn。有关.gitignore的配置参考git版本配置

Q:什么是持续集成系统?

A:对个人而言,就是让你的代码在提交到远程——这里是GitHub——后,立即自动编译,并且在失败后可以自动给你发邮件的东西。当然,除了编译,还能做自动化测试、自动部署等。对团队或企业而言,这意味着更多的东西,是敏捷开发的一种践行。travis是一种持续集成工具,企业中还有用jenkins的。有关travis的更多介绍见travis持续构建工具配置

Q:什么是roadhog?

A:这是一个 cli 工具,提供 server、 build 和 test 三个命令,分别用于本地调试和构建。更多介绍见roadhog配置

Q:web前端项目的配置是package?

A:每个web前端项目的根目录下面,一般都有一个 package.json 文件,定义了这个项目所需要的各种模块,以及项目的配置信息(比如名称、版本、许可证等元数据)。更多介绍见web前端项目配置文件

Q:最关键,初学者应着重关心哪些?

A:初学者应将精力放在package.json、roadhog这两者上,其他的都可以忽略掉。

package.json摘要介绍

npm install命令根据这个package.json配置文件,自动下载所需的模块,也就是配置项目所需的运行和开发环境。package.json文件就是一个JSON对象,该对象的每一个成员就是当前项目的一项设置。

scripts指定了运行脚本命令的npm命令行缩写,比如start指定了运行npm run start时,所要执行的命令。

进行前端开发时可能经常用到的几个命令是:npm run start(进行开发调试,缩写成npm start)、npm run build(进行构建打包)。当然也可以尝试package.json中给出的其他命令,如:npm run analyze、npm run test等,甚至也可以自己在package.json中添加需要的命令。

dependencies字段指定了项目运行所依赖的模块,devDependencies指定项目开发所需要的模块。它们都指向一个对象。该对象的各个成员,分别由模块名和对应的版本要求组成,表示依赖的模块及其版本范围。更多信息参见web前端项目配置文件

babel配置项,其实是有关babel的配置内容,写在package.json中实际上是一种省略,也可以写在.babelrc文件中。

lint-staged是与代码检查有关的配置项,jest是与单元测试有关的配置项。这两项的配置可以参考jest、lint。这两项与写业务逻辑代码没有直接关联。

roadhog摘要介绍

roadhog 是一个 cli 工具,提供 server、 build 和 test 三个命令,分别用于本地调试和构建,并且提供了特别易用的 mock 功能。命令行体验和 create-react-app 一致,配置略有不同,比如默认开启 css modules,然后还提供了 JSON 格式的配置方式。

重点介绍roadhog有关的几个配置项,主要是在ant design pro的代码中用到了这些配置项。

entry

指定 webpack 入口文件,支持 glob 格式。

如果你的项目是多页类型,会希望把 src/pages 的文件作为入口。可以这样配:

"entry": "src/pages/\*.js"

env

针对特定的环境进行配置。server 的环境变量是 development,build 的环境变量是 production。

比如:

"extraBabelPlugins": ["transform-runtime"],

"env": {

"development": {

"extraBabelPlugins": ["dva-hmr"]

}

}

这样,开发环境下的 extraBabelPlugins 是 ["transform-runtime", "dva-hmr"],而生产环境下是 ["transform-runtime"]。

"env": {

"development": {

"extraBabelPlugins": [

"dva-hmr",

"transform-runtime",

"transform-decorators-legacy",

"transform-class-properties",

["import", { "libraryName": "antd", "style": true }]

]

},

"production": {

"extraBabelPlugins": [

"transform-runtime",

"transform-decorators-legacy",

"transform-class-properties",

["import", { "libraryName": "antd", "style": tru

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值