基于VUE的前端框架搭建
2017-12-22 00:00
501 查看
摘要: 前端相关技术栈:vue + es6
工具:webpack、babel转码、eslint校验、使用npm管理包、iview组件库
vue周边:vuex做状态管理、vueRouter做路由管理
先上git地址:https://github.com/summercloud/vue-admin
编写.eslintrc配置文件,在rules中编写校验规则;
在.eslintignore中设置需要忽略的文件;
package.json的scripts中设置校验命令;其中test命令用于跑eslint校验,校验文件的路径在lint中配置
lint:fix命令用于跑eslint自动修复,会自修复代码中的简单的编写错误
npm安装webpack,webpack-dev-server;
配置webpack.config.js文件,详细请见代码中webpack.config.js文件,注释写的很详细了。
在npm run build命令中通过NODE_ENV=production标记生产环境,在webpack.config.js配置文件中设置,如果为生产环境则进行代码压缩。
在loaders中对所有的js文件都进行babel-loader的解析
并配置.babelrc文件,preset字段是在为babel解析做预设,告诉babel需要使用相关的预设插件来解析代码,plugins字段就是用来配置使用babel相关的插件的。这样在运行webpack的同时所有的es6代码会经过babel编译成为浏览器可运行的js代码。
在package.json的scripts中设置启动webpack-dev-server的命令,
在webpack.config.js中的output中publicPath为静态文件的文件夹,如果源代码有变更,热模块替换的代码会在此文件夹的相应路径中替
添加--inline命令,inline模式用于浏览器自动刷新页面,并且在webpack.config.js文件中配置devServer中的inline参数为true;
运行在inline模式中启用热模块替换,需在命令行中加入--hot参数,并在webpack.config.js的plugins中加入new webpack.HotModuleReplacementPlugin()语句。
在webpack.config.js中配置ivew文件解析器,官网有详细教程
在webpack.config.js中配置除了js以外的其他文件的加载器,例如css、html、png等。
入口文件有两个,index.js和vendors.js,index包含整个项目逻辑代码的入口,vendors则是打包所有工具库的入口与代码逻辑无关。
index使整个项目的入口,其中配置了路由,并且混入mixin中的方法到全局的VUE中,mixin包含一些通用的方法,例如$_request等。所有new的VUE对象都包含这些方法。
index中定义了根组件app,此后的所有页面显示组件都是根组件的子组件。其中app中渲染的内容来自app.vue,app.vue中定义了页面的架构。
store文件夹里用vuex做状态管理,定义了一系列的全局状态,并在index.js中注入根组件app中
util中的routes定义了项目的路由
css文件夹中的common文件中定义一些工具类以及皮肤类等;util中定义一些对iview修改的类;
使用iview组件库进行开发,使用手册详见:https://www.iviewui.com/components/grid
工具:webpack、babel转码、eslint校验、使用npm管理包、iview组件库
vue周边:vuex做状态管理、vueRouter做路由管理
先上git地址:https://github.com/summercloud/vue-admin
配置思路
配置npm
这里不赘述配置eslint
npm安装eslint以及eslint相关模块;编写.eslintrc配置文件,在rules中编写校验规则;
在.eslintignore中设置需要忽略的文件;
package.json的scripts中设置校验命令;其中test命令用于跑eslint校验,校验文件的路径在lint中配置
"test": "npm run lint", "lint": "eslint src/**",
lint:fix命令用于跑eslint自动修复,会自修复代码中的简单的编写错误
"lint:fix": "eslint --fix src/**"
安装webpack和webpack-dev-server
注:webpack-dev-server是一个小型的nodejs express服务器,使用webpack-dev-middleware中间件来为webpack打包生成的资源文件提供web服务。npm安装webpack,webpack-dev-server;
配置webpack.config.js文件,详细请见代码中webpack.config.js文件,注释写的很详细了。
在npm run build命令中通过NODE_ENV=production标记生产环境,在webpack.config.js配置文件中设置,如果为生产环境则进行代码压缩。
配置babel
在webpack.config.js中配置es6解析器babel在loaders中对所有的js文件都进行babel-loader的解析
并配置.babelrc文件,preset字段是在为babel解析做预设,告诉babel需要使用相关的预设插件来解析代码,plugins字段就是用来配置使用babel相关的插件的。这样在运行webpack的同时所有的es6代码会经过babel编译成为浏览器可运行的js代码。
热模块加载
热模块加载是指代码自动同步开发过程中的所有修改。在package.json的scripts中设置启动webpack-dev-server的命令,
"dev": "webpack-dev-server --content-base ./ --inline --hot"其中./为webpack-dev-server读取文件的根目录。
在webpack.config.js中的output中publicPath为静态文件的文件夹,如果源代码有变更,热模块替换的代码会在此文件夹的相应路径中替
添加--inline命令,inline模式用于浏览器自动刷新页面,并且在webpack.config.js文件中配置devServer中的inline参数为true;
运行在inline模式中启用热模块替换,需在命令行中加入--hot参数,并在webpack.config.js的plugins中加入new webpack.HotModuleReplacementPlugin()语句。
其他文件解释器
在webpack.config.js中配置vue文件解析器,官网有详细教程在webpack.config.js中配置ivew文件解析器,官网有详细教程
在webpack.config.js中配置除了js以外的其他文件的加载器,例如css、html、png等。
调试工具
调试工具devtool,并设置值为source-map,这样我们就可以在浏览器中直接调试我们的源码,在控制台的sources下,点开可以看到webpack://目录。git中项目分析
/dist/index.html 为页面总入口入口文件有两个,index.js和vendors.js,index包含整个项目逻辑代码的入口,vendors则是打包所有工具库的入口与代码逻辑无关。
index使整个项目的入口,其中配置了路由,并且混入mixin中的方法到全局的VUE中,mixin包含一些通用的方法,例如$_request等。所有new的VUE对象都包含这些方法。
index中定义了根组件app,此后的所有页面显示组件都是根组件的子组件。其中app中渲染的内容来自app.vue,app.vue中定义了页面的架构。
store文件夹里用vuex做状态管理,定义了一系列的全局状态,并在index.js中注入根组件app中
util中的routes定义了项目的路由
css文件夹中的common文件中定义一些工具类以及皮肤类等;util中定义一些对iview修改的类;
使用iview组件库进行开发,使用手册详见:https://www.iviewui.com/components/grid
相关文章推荐
- 前端框架Vue(15)——vue-cli 仿网易云音乐 Demo,环境搭建到开发 Vue 全家桶练手项目
- 基于webpack和vue.js搭建的H5端框架
- vue2.x+webpack快速搭建前端项目框架详解
- 基于springboot+bootstrap+mysql+redis搭建一套完整的权限架构【六】【引入bootstrap前端框架】
- 基于webpack和vue.js搭建的H5端框架
- 基于react16 webpack3 搭建前端spa基础框架 react-router的4种异步加载方式
- 基于vue-cli vue-router搭建底部导航栏移动前端项目
- 基于react16 webpack3 搭建前端spa基础框架 react-router的4种异步加载方式
- vue前端开发项目框架搭建(node+webpack+vue)
- 基于webpack和vue.js搭建的H5端框架(其实主要用于Hybrid开发H5端框架,但是依然能够作为纯web端使用)
- 基于vue-cli网上商城项目实战开发——搭建一个完整的SPA项目开发框架(一)
- 前端框架Vue(17)——基于 Vue.js 的服务端渲染 (ssr) 通用应用框架 Nuxt.js
- 用Grunt搭建基于LESS的前端html开发框架
- 【VUE】基于VUE的IVIEW前端框架共享
- 基于vue前端框架/scrapy爬虫框架/结巴分词实现的小型搜索引擎
- 手工搭建基于ABP的框架 - 工作单元以及事务管理
- Springmvc基础框架搭建流程(1)-基于xml配置文件
- angularjs+requlirejs 搭建前端框架(1)
- Vue.js 运行环境搭建详解(基于windows)
- 前端框架Vue(5)——Vue+Echarts