You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
import router from "./index"
router.beforeEach((to, from, next) => {
let store = router.app.$options.store;
// 根据store to from的状态进行处理,最后用next释放跳转
if(store && to && from){
...
}else{
next()
}
})
export default router
vuex和store处理
import Vue from 'vue'
import Vuex from 'vuex'
import Home from './modules/home'
Vue.use(Vuex)
export default new Vuex.Store({
//用module引入后,各模块的state就挂载在相应模块对象下
//this.$store.state.Home.count
modules: {
Home
}
})
前言
像vue和react这类的框架本身就提供了很好用的cli,用起来那也是真的香,但是作为学习还是有必要自己配置一遍常用的开发配置,即使不用vue和react,像一些scss/less/图片压缩/代码打包/es6处理/热更新/第三方ui框架等等功能,项目中一般也是要用到的。
webpack的loader和plugin也都是即插即拔的,所以我们可以根据实际项目需要,将常用的开发配置一点点的加进去。
环境和可能配置的功能
理论上来讲还是一个一个功能安装和配置,等确定没问题了再进行下一个。
项目结构
根据webpack的规则配置loader
配置模板文件html自动引入打包文件和清除旧文件
这样每次打包后,html会自动引入打包后的最新文件
配置css处理
这里直接scss/less/image/video等等都配全,需要注意的是css的相关loader是有先后配置顺序的
配置ES6的处理
在项目根目录创建babel.config.js,自行根据对es6的支持程度设置stage
配置热更新和代理
这里直接使用的是webpack内置的webpack-dev-server,根据规则在devServer中配置
配置vue别名
这样在处理路径的时候就可以直接从根目录开始了,而不是疯狂的上级目录
引入第三方ui框架,这里引入element-ui
在main里引入,如果要实现按需引入,只需要按照官方文档配置即可
在页面上使用
router和guard的处理
vuex和store处理
配置axios
在main里引入,在vue原型上挂载
配置请求拦截器,可以预处理一些业务逻辑,过滤数据等
The text was updated successfully, but these errors were encountered: