Mytu's BlogMytu's Blog
Home
XH蒜花
语雀
Github
Home
XH蒜花
语雀
Github
  • 欢迎光临

    • 关于我
  • 基础总结

    • HTML
    • CSS
    • JavaScript
      • ES6
    • TypeScript
    • JQuery
    • Vue2
      • Vue
      • Vuex
      • 基础
      • 进阶
      • 实战
    • Vue3
      • 基础
      • 实战
    • React
    • Uni-app
    • 小程序
      • 实战
    • NodeJs
    • Git
    • MySql
    • Webpack
    • Other
  • 前端面试

    • 八股文
  • Free Style

    • 中午吃什么?

Vue2基础1Vue2基础2Vue2基础3Vue2基础4Vue2基础5

webpack 前端自动化的构建工具(打包 压缩 解析)

打包命令:webpack ./index.js  自动输出 到dist目录下多一个main.js

                   由于webpack局部安装的,直接执行命令不认识webpack, 解决1:npx webpack ./index.js

解决2:将命令定义到script脚本中,通过npm run xxx



通过webpack.config.js配置 打包信息

entry:入口配置

output: 出口配置

mode: 设置打包的模式(开发,生产)

plugins:[] htmlwebpackplugin(自动生产html页面,并且引入输出js文件)【1.安装 2.配置】

module(loaders):识别其他文件需要配置loader(css:css-loader, style-loader) 

                                  转换es6到es5(babel)

                                  文件(file-loader)



打包命令: webpack --config webpack.config.js

webpack: 只认识json, js

开发服务器:webpack-dev-serve



默认情况下修改html页面,是不会自动刷新的,需要手动。

【mode:开发环境】

解决:html热更新

1. 安装raw-loader
2. 入口文件引入html
3. 配置webpack.config.js 配置loader





1. 脚手架中开发(使用脚手架创建vue项目----vue create xxx) 【package.json-- vue,vuex,vue-router】
2. public 静态资源

src 项目代码资源

assets: 图片资源+样式资源

components:公共组件

router: 路由配置(页面切换)

store: 数据仓库+数据共享 ----还没用上

views: 组件

App.vue:全局组件 -- 默认会加载(渲染)该组件

main.js:入口文件

其他:配置文件(babel, vue, git,帮助文档 remand.md)

3.关于“./"

{

path:"/aaa", //浏览器中地址 http://localhost:8080/aaa

name: 'set04', //命名

components:() => import('../components/04Set.vue')

}

4.watch

当数据发生变化时,自动执行某函数

watch:{

//普通监听

要监听的变量(新值,旧值){

}

// 立即监听

要监听的变量:{

handler(新值,旧值){

},

imemediate:true

},

//深度监听(不推荐)

要监听的变量:{

handler(新值,旧值){

},

deep:true

},

//优化方法,直接监听具体的某一属性

"对象.属性名"(新值,旧值){

}



与computed区别是什么?

当数据变化时,需要做一些开销比较大的操作(异步操作)使用watch【一个数据影响多个值时】任何复杂业务逻辑的都应该使用计算属性。使用computed【一个数据受多个数据影响时】



5. 修改数组或者对象不响应时解决办法 $set()

this.$set(数组对象,下标,值)

this.$set(对象,属性名,属性值)



this.arr.push() //页面是会自动更新的。(vue已经帮我们处理过了)



6. ref 和 $refs

作用: 获取dom元素

    1. 给标签设置ref属性,相当于设置id
    2. 通过$refs.属性名 得到该dom对象



7. nextTick的作用
+ 我们在挂载前的这个阶段是无法获取到dom元素的,如果需要在挂载前这个阶段获取dom元素,就要使用到$nextTick  语法:$nextTick(回调函数)



8. 生命周期钩子

钩子函数都是写在data(){}与methods:{}的同级,

+ beforeCreate(){这个阶段什么东西都拿不到一般我们都不用}, created(){这个阶段能拿到数据与函数,一般在阶段会发送一些请求},
+  beforeMount(){与created拿到的数据是一样的 一般都会写在created},  mounted(){在这里能拿到所有数据,我们也可以在这里对dom进行操作,如果绑定事件等}
+ beforeUpdate(){更新前:我们在这个钩子函数主要是监听数据的更新,这里监听的是更新前的数据} , updated(){更新后:这里是监听更新后的数据}
+ beforeDestroy(){销毁前:一般会在这里写一些销毁前要处理的一些代码,比如定时器,要在这个阶段处理完后,再到销毁后执行完全销毁}  destroyed(){销毁完,转换页面时就会执行该钩子}
Prev
Vuex
Next
进阶