-
Notifications
You must be signed in to change notification settings - Fork 2.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
区块物料方案(umi block) #1350
Comments
|
monorepo 这个是什么意思?
物料可以是 ts 的,umi 只是做了一个代码拉取,但是不会额外生成 d.ts |
补充关于 git 缓存的问题: 在下载物料时,为了提高速度,会缓存 git 仓库,如果已经下载过那么只需要做 pull,但是这样可能会在某些情况下 pull 失败等情况下,需要提供参数给用户需要清空缓存。想到两个方案:
|
为啥会 pull 失败?失败的时候重新执行命令? |
比如极端情况下缓存目录的 git 仓库被修改,因为本地修改没有提交,那么 pull 就会失败。或者由于某种以后可能出现的原因 git 仓库的缓存出问题的情况下最好能够提供用户清空缓存的方案(想到这,或许就让用户手动删除对应的缓存文件夹就好了)。 |
新增两个参数: --name 指定物流下载到 page(s) 下的目录名称,默认使用物流 package.json 中的 name 的有效部分。 |
物料会提供可视化市场吗?类似 http://scaffold.ant.design/#/ https://www.npmjs.com/search?q=macros |
@tolerance-go 后面应该会有基于 antd pro 的一个官方物料市场,当然社区也都可以基于这套体系来搭建自己的物料市场。 |
repost |
相关 ISSUE:
#628
umi block
功能 feat: umi block #1402--path
with umi block #1444区块定义
一个前端页面的代码,开发者可以添加它到使用 umi 开发的前端项目中并做自己的修改使用。
区块使用
用户可以使用
umi block https://github.com/umijs/umi-materials/demo
来使用区块。执行该命令后物料的代码将会被下载复制到用户的代码中,用户可以直接通过路由访问(一期暂时先不考虑配置式路由),针对配置式路由的方案再继续讨论细化。
物料目录结构
物料的来源应该是多样话的,它可以是:
不管是什么,这个地址指向的位置下必须包含如下的目录结构:
其中
package.json
文件相关内容如下:实现
官方区块仓库
新增一个 https://github.com/umijs/umi-blocks 的仓库,用做是官方的区块仓库。类似飞冰的 https://github.com/alibaba/ice/tree/master/react-materials/blocks 。
umi plugin: blocks
基于 yeoman-generator 实现的 umi 插件,用于下载区块代码到项目中,主要操作如下:
其中第一步,以物料的 package.json 中的 name 作为 pages 里面的文件夹名称,如果是类似
@umi-blocks/demo
这样的者以/
分隔,去最后一位作为有效名称。也可以通过参数--name
来指定名称。其中第二步,主要考虑到类似 antd pro 这样的项目,想要将项目中的各个页面拆分为一个个物料,那么可能页面中还引用了一些不在页面文件夹下的内容。那么需要将这部分内容放到
@
目录下,在umi-material
工具下载时会做一个合并(关于冲突可以后面慢慢改进,前期最简单的方案就是如果发现已经有了就提示用户跳过或者覆盖,让用户手动处理)。该插件内置到 umi 中,提供
umi block
命令。umi-plugin-block-dev
用于物料开发,添加该插件后,运行
umi dev
会自动把src
作为唯一的主路由,把@
别名修改到@
目录。The text was updated successfully, but these errors were encountered: