项目实战之项目组成

基于前面五篇react基本知识的介绍,从这篇开始项目实战。要想使一个项目运转起来,需要的知识可不只有react.前端采用react+anted+webpack,后台采用java.里面还有很多需要我们了解达到能够使用程度的知识:比如anted,webpack,SSO(SingleSignOn),跨域访问以及最后怎么整合前端文件到java的代码中,让系统飞起来。其实anted、webpack、sso等每一个单拎出来都可以写出很多篇博客来。但是我这里只是简单介绍,达到知道在项目中如何去使用的状态即可。

1.anted,是package.json中引入的一个依赖,如:"antd": "^2.10.0"。后面的是版本号说明。就像是在pom.xml中引入的jar包。其实它就是Ant Design,“是蚂蚁金服体验技术部经过大量的项目实践和总结,沉淀出一个中台设计语言”。这是官网上的官方说明,这个概念中台设计语言,实在不理解。我就说说我浅显的理解吧。我觉得他就是基于React实现的一些封装好的组件,这些组件中已经有了一定的样式和数据处理的方式,同时留出了接口给用户。你只需要做很少的工作,就可以做出很漂亮的页面。封装好的东西对于用户来说都有一个通病就是,你不懂它是如何封装的,就不能很好的使用。尤其是当你的页面比较特殊时,就需要深入了解它的api和源码才能修改得了。我在实战中针对这点很纠结,官方网站上api文档写得及其简单,好多时候都是半试半猜的做。源码对于我这种java开发看得懂还是有一定差距的。后面几篇会有react和anted使用的例子。这里不再赘述,了解anted是什么就可以。

2.webpack,可以看做是模块打包机:它做的事情是,分析你的项目结构,找到JavaScript模块以及其它的一些浏览器不能直接运行的拓展语言(Scss,TypeScript等),并将其打包为合适的格式以供浏览器使用。

在学习React前的准备工作中介绍过webpack的安装,这里再补充两个在package.json中scripts中的配置:

"dev": "webpack-dev-server --devtool eval --progress --colors --content-base dist --hot --inline --display-error-details"

  在项目当前文件夹下敲入npm run dev可以执行,用于平时启动调试,可以热加载。但是有时候也不能生效,此时需要重新执行一次。

"prod": "cross-env NODE_ENV=production webpack --progress --colors --config webpack.config.prod.js -p --display-error-details"

  在项目当前文件夹下敲入npm run prod可以执行,打包出最终的部署文件。

3.sso,一个完整的后台项目当然需要登录。我这里接入的是公司的单点登录,不进行说明。

4.跨域访问,主要是在开发调试的过程中使用,我在本地启动java程序提供接口,前端使用nodejs启动项目,两个应用的端口不一样,需要涉及到跨域访问。SpringMVC 4 以上增加CORS支持,只需要进行配置文件中进行配置即可。在spring-mvc.xml中配置

<mvc:cors>
<mvc:mappingpath="/**"allowed-origins="*"allow-credentials="true"/>
</mvc:cors>

  我这里只在本地调试中需要跨域访问,所以我配置的比较大胆,认为一切路径都是可信的。真正部署的时候不存在跨域问题。这些配置需要注释掉,否则会有安全问题。

5.前后端整合,通过webpack打包之后会在dist文件下产生两个文件,index.html和bundle.min.js文件,当然打包出来的文件名称是在webpack中配置的。然后我把它拷贝到java的项目结构中,下图是java项目的结构图,将这两个文件拷贝到如图位置,保证index.html中引入js的路径是正确的。然后java中maven,打包部署即可。

时间: 2024-10-27 02:32:51

项目实战之项目组成的相关文章

基于J2EE平台下SSH2+JBPM4.4+ExtJs4.1 框架整合&amp;项目实战(HR项目开发、SSH2作为框架)

对这个课程有兴趣的朋友可以加我的QQ2059055336和我联系 课程讲师:ANDY 课程分类:Java 适合人群:中级 课时数量:46课时 用到技术:Extjs.SSH2.Mvc 涉及项目:HR项目用户管理.Extjs树形结构.流程接口 更新程度:完成 课程包含了以下主要的技术面:前端采用Extjs4.x:后台使用目前中小型开发较为常用的SSH2作为框架,囊括了JBPM4.4工作流引擎.课程经由基础学习向高阶跨进,一步一步介绍了前后台的关系,以及前后台的整合.JBPM的整合等等,都是属于目前较

走在大数据的边缘 基于Spark的机器学习-智能客户系统项目实战(项目实战)

38套大数据,云计算,架构,数据分析师,Hadoop,Spark,Storm,Kafka,人工智能,机器学习,深度学习,项目实战视频教程 视频课程包含: 38套大数据和人工智能精品高级课包含:大数据,云计算,架构,数据挖掘实战,实时推荐系统实战,电视收视率项目实战,实时流统计项目实战,离线电商分析项目实战,Spark大型项目实战用户分析,智能客户系统项目实战,Linux基础,Hadoop,Spark,Storm,Docker,Mapreduce,Kafka,Flume,OpenStack,Hiv

2017.7.1 慕课网-Java从零打造企业级电商项目实战:项目初始化

1.项目初始化 1.1 新建maven项目 (1)new project -> maven -> maven-archetype-webapp project name:mmall project location:E:\lyh\file\workspace\mmall_learning\mmall (2)新增main/java,src/test,src/test/java,并且分别标记为source root,test source root(选中文件,右键mark directory as

01 (maven+SSH)网上商城项目实战之项目简介

项目简介: 网站架构:

JAVA项目实战,项目架构,高并发,分布式,微服务架构,微信支付,支付宝支付,理财系统,并发编程

Spring Cloud集成项目有很多,下面我们列举一下和Spring Cloud相关的优秀项目,我们的企业架构中用到了很多的优秀项目,说白了,也是站在巨人的肩膀上去整合的.在学习Spring Cloud之前大家必须了解一下相关项目,希望可以帮助到大家. Spring Cloud Config 配置管理工具包,让你可以把配置放到远程服务器,集中化管理集群配置,目前支持本地存储.Git以及Subversion. Spring Cloud Bus 事件.消息总线,用于在集群(例如,配置变化事件)中传

基于J2EE平台下SSH2+JBPM4.4+ExtJs4.1 框架整合&amp;项目实战

基于J2EE平台下SSH2+JBPM4.4+ExtJs4.1 框架整合&项目实战(HR项目开发.SSH2作为框架) 对这个课程有兴趣的朋友可以加我的QQ2059055336和我联系 课程讲师:ANDY 课程分类:Java 适合人群:中级 课时数量:46课时 用到技术:Extjs.SSH2.Mvc 涉及项目:HR项目用户管理.Extjs树形结构.流程接口 更新程度:完成 课程包含了以下主要的技术面:前端采用Extjs4.x:后台使用目前中小型开发较为常用的SSH2作为框架,囊括了JBPM4.4工作

中小型企业商业智能平台的开发和实现(数据仓库、BI系统、真实项目实战)

中小型企业商业智能平台的开发和实现(数据仓库.BI系统.真实项目实战)课程分类:数据和数据仓库适合人群:初级课时数量:76课时用到技术:数据仓库.BI系统.真实项目实战涉及项目:中小型企业商业智能平台咨询QQ:1840215592课程内容简介:本课程以公共卫生领域高血压的管理为实际应用场景,为高血压管理系统建立数据仓库,进行数据分析.本课程一共分为四个章节,76讲.第一章主要介绍了商业智能系统的发展,从商业智能的学科范围.演化史.应用案例到自然演化式的体系结构,以及面临的问题,再讲到数据仓库以及

全套软件测试项目实战

软件测试项目实战-web项目实战-RF测试框架课程如下: web项目实战: 1.web项目测试备战 2.产品需求与设计评审 3.测试计划 4.测试用例架构搭建 5.web测试用例设计方法 6.功能测试用例设计方法 7.性能测试用例设计方法 8.安全测试用例设计方法 9.兼容性测试用例设计方法 10.界面设计用例方法 11.web测试用例的评审方法 12.搭建测试环境 13.粗测上 14.粗测下 15.功能测试执行上 16.功能测试执行中 17.功能测试执行下 18.系统测试-产品经理 19.系统

物联网开发入门+项目实战视频博学全套

物联网开发入门+项目实战视频博学全套物联网网络编程项目实战视频课程以目前在物联网中比较热门的技术平台为依据,实操为主,理论讲解为辅;引导学员...适用人群对物联网通讯感兴趣的技术人员或在校工科类学生:具备一点C语言基础.课程简介物联网网络编程项目实战视频课程以目前在物联网中比较热门的技术平台为依据,实操为主,理论讲解为辅:引导学员去进行一些简单项目的开发和练习,尽可能通俗的讲解物联网所涉及到的协议.课程大致目录:第1阶段 学前准备01 C语言及程序设计快速入门02 嵌入式C语言高级---语法概述