活动设计的前端架构
主要的技术栈为 Vuejs,Webpack,请自行阅读如下技术或者框架的文档:
一、基础说明:
- node (https://nodejs.org/en/)
- npm (https://www.npmjs.com)
- webpack (https://github.com/webpack/webpack)
- vuejs (https://vuejs.org)
- babel (https://babeljs.io)
- 其他的比如sass等CSS预编译器,都可以先不考虑。
下面对以上涉及的技术做一个简单的说明。 npm是node
的包管理工具,每个包都是一个或者一组js文件的组合。包(js文件)之间的依赖关系被定义在package.json文件中,你可以在示例项目的根目录下找到这个文件,注意里面的dependecies等内容。node,和npm都需要你自行在开发机中进行安装,有MacOSX和Windows的版本。我们一般需要通过npm来安装项目需要的包、模块(里面是js文件)。同时还需要通过npm来运行整个项目的构建过程。
二、使用说明:
三、使用vue cli 创建项目
四、前端架构说明:
五、项目示例详解:
下面我们来看看示例项目中的关键代码,请按照下面的步骤构思我们的前端架构(已经完成切图)。
- 我们是否有全局的数据结构,也就是需要在多个页面*问的共享数据结构,如果有的话,我们考虑在store中进行定义,并在多个页面*问;(http://120.76.123.62:8081/frontend/act-example/blob/master/src/store/index.js )
- 我们是否有全局的静态变量,比如活动ID,在所有页面上都可以访问到这个只读的变量(http://120.76.123.62:8081/frontend/act-example/blob/master/src/App.vue);
- 我们有哪些页面,这些页面间的跳转关系是怎样的,我们需要给这些页面起好名字,并在router中安排好这些页面,并在页面内部使用
route-link
在页面间跳转(http://120.76.123.62:8081/frontend/act-example/blob/master/src/router/index.js); - 页面上有哪些交互或者页面元素是组件化的,或者是已经有组件来提供的?我们需要在页面上引用这些组件(http://120.76.123.62:8081/frontend/act-example/blob/master/src/pages/StartPage.vue);
- 页面有哪些需要和后台交互的代码,是目前的组件无法满足要求的?我们需要考虑新增组件或者做一次性的代码开发;
- 在页面上引用组件,并在页面内部对组件进行外部的CSS定义(http://120.76.123.62:8081/frontend/act-example/blob/master/src/pages/StartPage.vue);
- 运行整个项目,观察是否有其他需要调整的地方。
关于组件的开发,我们在另外的项目中描述。