获取前端项目
网盘密码【handhand】。
如果您使用的是海马汇提供的种子工程,之后您可以【跳过】这一页文档,直接开始环境搭建即可开始开发使用。
如果您使用的是其他的基于hzero(1.0.0或以上)开发的工程(不推荐),那么您需要额外做一点操作
- 首先,您需要下载这么一个ueditor压缩包解压到您项目的public文件夹下,这个压缩包里的内容为Ueditor的源码,由于海马汇的图文内容使用了秀米,秀米仅支持Ueditor编辑器,Ueditor已经荒芜多年,仅剩源码版本。那么此时public目录下,应该是有
public/src/components/hipsUeditor
这么一个文件夹。 随后打开src/index.js
,加入两行代码,以在项目启动时(异步地)加载Ueditor。还需要下载这么一个ckeditor压缩包,解压在public/lib下,即public/lib/ckeditor
。
// 轮播图闪屏的秀米富文本
import * as loadEditor from 'hippius-front/lib/components/hipsEditor/loadEditor';
// other codes
// 轮播图闪屏的秀米富文本
loadEditor.load();
在您的项目的package.json里的依赖(大白话就是,在那堆hzero-front-xxx的后面),加上如下依赖,请按需修改版本号。
"hippius-front": "^0.3.0", "hippius-front-analyse": "^0.3.0", "hippius-front-app": "^0.3.0", "hippius-front-contact": "^0.3.0", "hippius-front-msggroup": "^0.3.0", "hippius-front-subapp": "^0.3.0"
在您项目的
src/utils/getModuleRouters.js
文件下,引入以下路由。import * as hippiusFrontAnalyse from 'hippius-front-analyse/lib/utils/router'; import * as hippiusFrontApp from 'hippius-front-app/lib/utils/router'; import * as hippiusFrontContact from 'hippius-front-contact/lib/utils/router'; import * as hippiusFrontMsggroup from 'hippius-front-msggroup/lib/utils/router'; import * as hippiusFrontSubapp from 'hippius-front-subapp/lib/utils/router';
并且在文件末尾的数组里,这这些路由加上
export default app => getModuleRouters(app, [ hippiusFrontAnalyse, hippiusFrontApp, hippiusFrontContact, hippiusFrontMsggroup, hippiusFrontSubapp, // other hzero ruotes // other your routes ]);
修改一下webpack配置
config/webpack.config.js
// 如果webpack配置没改过,那么行数应该没什么偏差
// 大约80行附近的这个正则,把hippius加上
// hzero-front 子项目里的node_modules路径
const hzeroFrontChildNodeModulePathReg = new RegExp(
`(hippius|hzero)-front\\S*\\${path.sep}node_modules`);
// hzero-front 子项目代码路径
const hzeroFrontBuildLibPathReg = new RegExp(
`(hippius|hzero)-front\\S*\\${path.sep}lib`);
// 103行附近
getLocalIdent: (context, localIdentName, localName) => {
if (
(context.resourcePath.includes('node_modules') ||
context.resourcePath.includes('ant.design.pro.less') ||
context.resourcePath.includes('choerodon-ui') || // 加上这行
context.resourcePath.includes('src/index.less')) && (
context.resourcePath.match(hzeroFrontChildNodeModulePathReg) ||
!context.resourcePath.match(hzeroFrontBuildLibPathReg) // 排除hzero-front相关依赖
)
)
}
// 大约123行附近的这个正则,把hippius加上,搜索【css-loader】所在的对象里的getLocalIdent这个函数里
const match = context.resourcePath.match(
new RegExp(`(src|(hippius|hzero)-front\\S*\\${path.sep}lib)(.*)`));
- 由于
hippius-front
和hzero-front
没有放在同一个私有源上,而是放在了http://mobile-app.hand-china.com/nexus/content/groups/hippius-ui-group/
,我们这边做了代理,能访问hzero私有源。 您可以简单地,把出现了hzero私有源http://nexus.saas.hand-china.com/content/groups/hzero-npm-group/
的地方替换成http://mobile-app.hand-china.com/nexus/content/groups/hippius-ui-group/
。 如果您也使用了自己的私有源,代理一下我们的私有源即可。