vue开发实战2——项目框架结构
2018-09-26 10:02
302 查看
为了在vue项目中更好的管理项目,按功能划分src文件,按业务模块划分前端展示相关内容。
build | 构建相关,相关配置文件详情。 |
打包时,命令执行npm run build时运行,其中webpack.base.conf.js文件当中的
[code]entry: { app: './src/main.js' } 是入口路径。而 [code]output:{...} 是出口。执行之后,会生成一个dist文件夹,刷新之后即可看见,将这个文件夹放置在服务器上即可。 |
|
webpack.base.conf.js | 如果嫌文件与文件直接的引用关系会很复制,可以使用alias,一般将alias只想src目录下,在使用相对路径找文件。设置如下:
[code]/*方式一*/ resolve:{ alias:{ '@':resolve(__dirname,'src') } } /*方式二*/ resolve:{ alias:{ 'src':path.resolve(__dirname,'../src'), 'components':path.resolve(__dirname,'../src/components'), 'api':path.resolve(__dirname,'../src/api'), 'utils':path.resolve(__dirname,'../src/utils'), 'store':path.resolve(__dirname,'../src/store'), 'router':path.resolve(__dirname,'../src/router') } } 使用: [code]/*方式一*/ import hello from '@/components/hello' /*方式二*/ import hello from 'components/hello' import getAuth from 'api/auth'
|
config |
配置相关 |
其中index.js文件中的port:8080和 host: 'localhost'分别是端口号和本机域名地址。useEslint:true指eslint代码规范是被启动的,当代码不按照规则进行则会报错。常见错误: 1.必须使用驼峰法命名; 2.在一个函数当中,轻易不要使用全局变量,尽量使用let来定义,这个因为vue框架的原因; 3.在注释//后面一定要加一个空格,:后面也是; 4.代码段落对齐一定要仔细,否则也会报错; 5.定义工具函数时,内部的函数引用要this.function(); 6.==使用要换成===,但是要注意===是不能自动转换类型的。
npm run build后生成的dist文件访问本地static路径下的data.json数据有问题,需要修改productionSourceMap属性为false。 [code] module.exports = { build:{ assetsSubDirectory: 'static', //修改这里成你项目放置静态文件的目录 assetsPublicPath: './', //修改这里成你项目放置静态文件的目录 productionSourceMap: false //修改为false } }
|
|
node_modules | |
其中是npm下载的依赖库,进入项目文件,执行:npm install vue-resource --save,执行后可在其下找到 vue-resource文件夹,在package.json中也能看到:"vue-resource":"^1.5.1",在入口函数main.js中引入:
[code]import VueResource from 'vue-resource' Vue.use(VueResource);其它,见《转:vue构建项目并添加依赖》。其中devDependencies是开发的依赖 |
|
src默认 | 源代码 |
assets |
主题、字体等静态资源,下级目录创建font和img(ps:https://tinypng.com/图片压缩地址) |
components | 全局公用组件,组件的编写看具体需求,编写时需满足:多处复用。太多的组件会导致页面逻辑复杂,页面级的组件建议放在各自的views文件下。 |
router | 路由,resolve异步加载(按需加载)。另:重定向与子路由。 |
App.vue | 入口页面 |
main.js |
入口文件、加载组件、初始化等。 [code]import Vue from 'vue'; import App from './App'; import router from './router'; Vue.config.productionTip = false; //开启debug模式 Vue.config.debug = true new Vue({ el: '#app', router, // 创建和挂载根实例。记得要通过 router 配置参数注入路由 template: '<App/>', components: { App }, });
|
src补充 | |
api | 所有请求 |
directive | 全局指令 |
filters |
全局filter |
icons | 项目所有svg icons |
lang | 国际化language |
mock | 项目mock模拟数据。使用mockjs生成随机模拟数据,实现前后端分离开发,详情。 |
store | 全局store管理(数据流管理),如登录信息,用户信息或一些全局个人偏好设置等用vuex管理更加方便。 |
styles | 全局样式 |
utils | 全局公用方法 |
vendor | 公用vendoe |
views | 所有页面组件,有vue-router引入,建议根据业务模块来划分views,并将views和api两个模块一一对应,以方便维护。 |
permission.js | 权限管理 |
static | 第三方不打包资源 |
.babelrc | babel-loader配置 |
.eslintrc.js | eslint配置项 |
.gitignore | git忽略项 |
.travis.yml | 自动化CI配置 |
favicon.ico | favicon图标 |
index.html | html模板,静态文件入口 |
阅读更多
相关文章推荐
- 基于vue-cli网上商城项目实战开发——搭建一个完整的SPA项目开发框架(一)
- 从框架到完整项目搭建,实战项目《约个球》(6)- 利用SlidingMenu和Fragment构建我们的项目结构
- 项目视频讲解_Python实战开发之Pyramid Web框架在商城项目中的应用(模版引擎、布局引擎、JSON)
- vue.js2.0实战:搭建开发环境及构建项目
- vue前端开发项目框架搭建(node+webpack+vue)
- YII框架开发一个项目的通用目录结构
- vue项目常用组件和框架结构介绍
- 中国移动:物联网项目实战开发企业级应用(ssp框架应用、EXTJS4.2、GoogleMap、JPA)
- 从零开始搭建一个完善的MVP开发框架(五),通过组件化开发优化项目的结构
- Android实际开发中的首页框架搭建(一、项目结构搭建)
- 打通前后端全栈开发node+vue进阶【课程学习系统项目实战详细讲解】(3):用户添加/修改/删除 vue表格组件 vue分页组件
- 这是孔浩老师录制的java全套系列视频教程,从javase基础到javaweb,在到j2ee框架,最后到项目实战开发,非常适合想自学java开发的朋友。
- vue+vueRouter+vuex+vux(微信项目开发框架)
- 中国移动:物联网项目实战开发企业级应用(ssp框架应用、EXTJS4.2、GoogleMap、JPA)
- vue项目框架结构入门 及 vue基础
- java开源框架SpringSide 3.1.4.3开发Web的demo项目实战
- 全栈开发实战:用Vue2+Koa1开发完整的前后端项目
- vue项目开发的目录结构
- vue+vueRouter+vuex+vux(微信项目开发框架)