创建、调试、打包

vue create event-vue
npm run serve //这个好,官方推荐`vue serve`没用
npm run build

项目结构

  • package.json 项目配置文件,含依赖配置,安装包的时候npm会自动去更新它
  • app.vue 是顶级组件(可理解为首页)
  • main.js 用来管理全局组件,我不喜欢用它
  • vue.config.js 默认没有,但我创建了它,配置了全局变量,最终部署时需要它
  • components 存在子组件,可被app引入
  • assets 存放自己或手动下载的库/组件,可被引入
  • public 存放完全静态的东西

添加组件

  • 官方推荐用vue add,实测很垃圾,用它装了axios根本不能用,是适配老的cli的。因此还是用npm install来安装包比较靠谱
  • vant还是有点麻烦的,import要写两行以外,要使用van开头的标签, 还得在components里加代码,类似Button,[Popup.name]:Popup,[Field.name]:Field,非常不优雅

自动刷新的问题

具体表现和简单:改有些代码时,页面不自动刷新。

解决方法就是能组件化就组件化。 因为在app.vue里改组件slot里的代码是可以自动刷新的。

自己导出模块

  • 要使用第三方库的话, 可以const axios=require('axios')也可以采用import的方式引入
  • 导出用module.exports或者export default方式
  • 我自己的matchajs改造非常顺利

组合式API

一切都写在setup()内,最后return出来即可被template使用

如果provide出去,可被下级组件使用

需注意的是现在需视情况结合ref()和reactive()来定义data,否则return出去的东西若后面更改了,是不会响应式改变的

思路改变之后,再回到Option API的变成风格,会非常不适应(太不自由了)

reactive的机制导致踩坑

经测试, 发现let obj=reactive(new foo())这种方式来定义响应式对象的时候,如果foo实例化过程中含有异步回调, 那么回调时产生的数据改变, 不会触发响应式更新dom

原因非常简单, 因为响应式对象其实是一个Proxy对象。 仅当操作obj这个Proxy对象的时候才会触发响应式。 而foo实例化过程中的异步回调是对new foo()的结果进行改变, 并不符合触发条件。

vue-cli4初探、问题解决和心得的更多相关文章

  1. vue跨域问题解决(生产环境)

    vue跨域问题解决(使用webpack打包的) 配置代理:(config下index.js文件) module.exports = { dev: { env: require('./dev.env') ...

  2. vue cli4.0 配置环境变量

    温馨提示:本文只适用于vue-cli 3.0 及以上的版本哦~ ------------------正文开始------------------ 开发项目时,经常会需要在不同环境中切换.那么我们如何配 ...

  3. Vue CLI4.0版本正式发布了!一起来看看有哪些新的变化吧

    Vue CLI4.0版本正式发布 这个主要的版本更新主要关注底层工具的必要版本更新.更好的默认设置和其他长期维护所需的微调. 我们希望为大多数用户提供平稳的迁移体验. Vue CLI v4提供了对Ni ...

  4. vue.js初探

    前言 入手2016最火前端框架之一vue.js.大概从网上找了些资料看了下vue.js,从网上的资料来看只能惊叹其发展速度太快,让我意外的是其作者是华人的前提下作品这么受欢迎. 网上的博客和教程各种组 ...

  5. vue.js初探:计算属性和methods

    在vue.js中,计算属性和methods方法的函数相同时,两者的最终执行结果都是相同的.然而不同的是,计算属性是基于它的依赖缓存.计算属性只有在它的相关依赖发生改变时才会重新取值.这就意味着只要 m ...

  6. vue学习初探

    一.环境的搭建安装 VS Code vue开发环境的搭建 理解vue的脚手架 合适的cnpm版本

  7. 后端视角下的前端框架之Vue.js初探

    背景 作为常年搞后端的自己来说,除了多年前学习的一点关于HTML的皮毛,对现在的前端技术栈可谓是一窍不通.但是因为最近在做的内部业务全链路监控系统,负责前端的同事做到一半去搞别的项目了,为了把项目落地 ...

  8. Vue SSR初探

    因为之前用nuxt开发过应用程序,但是nuxt早就达到了开箱即用的目的,所以一直对vue ssr的具体实现存在好奇. 构建步骤 我们通过上图可以看到,vue ssr 也是离不开 webpack 的打包 ...

  9. vue 开发常见问题解决大全

    vue添加favicon.ico,包含开发环境和生产环境显示. 1.把图标放在下项目的根目录.. 2.修改build文件夹下面的webpack.dev.conf.js(开发环境) 和webpack.p ...

  10. vue cli4.0 快速搭建项目详解

    搭建项目之前,请确认好你自己已经安装过node, npm, vue cli.没安装的可以参考下面的链接安装. 如何安装node? 安装好node默认已经安装好npm了,所以不用单独安装了. 如何安装v ...

随机推荐

  1. DPU02是一个高度集成的USB转UART的桥接控制器

    DPU02是一个高度集成的USB转UART的桥接控制器,该产品提供了一个简单的解决方案,可将RS-232设计更新为USB设计,并简化PCB组件空间.该DPU02包括了一个USB 2.0全速功能控制器. ...

  2. ThinkPHP接收header自定义参数

    // 请求拦截,配置Token等参数 Vue.prototype.$u.http.interceptor.request = (config) => { config.header['conte ...

  3. C#中socket的简单使用

    一.Socket的概念Socket其实并不是一个协议,而是为了方便使用TCP或UDP而抽象出来的一层,是位于应用层和传输控制层之间的一组接口. 当两台主机通信是,必须通过Socket连接,Socket ...

  4. 02 流程控制之while循环

    # 1.循环的语法与基本使用'''print(1)while 条件: 代码1 代码2 代码3print(3)''' # count=0# while count < 5: # 5 < 5# ...

  5. history 添加 时间戳和ip,用户

    vim  /etc/profile 在文件最后加入 HISTFILESIZE=4000 # 默认保存命令是1000条,这里修改为4000条 HISTSIZE=4000 USER_IP=`who -u ...

  6. excel 巧用功能

    1. 分类汇总 数据-->分类汇总--> 解决问题:解决了我按字段分类并分页打印的问题,例如几十个村数据,要按村分页打印相关数据这时不能把村分别复制粘贴到一个一个工作薄,太麻烦了. 处理方 ...

  7. fastapi四:uvicorn.run支持的参数

    `app:指定应用app,'脚本名:FastAPI实例对象'.FastAPI实例对象 host: 字符串,允许被访问的形式 locahost.127.0.0.1.当前IP.0.0.0.0,默认为127 ...

  8. ObjectARX2020向导创建项目失败,一直显示创建窗口原因

    安装了好多次,查了好多资料,发现是需要将向导的msi文件以管理员权限运行,可以参考下面的链接 https://www.dawnnote.com/237.html

  9. js中常用的运算符

    1. ?. 链接运算符 特性: 一旦遇到空置就会终止 例子: let name = obj?.name persion.getTip?.() // 没有getTip 方法则不会执行 2. ?? 空值合 ...

  10. 2022-04-14内部群每日三题-清辉PMP

    1.项目经理资源有限,无法获得更多资源.项目经理应该使用什么技术来充分利用现有资源,而不会令项目完成时间延期? A.资源平滑 B.资源平衡 C.快速跟进 D.赶工 2.正在审查问题日志的项目经理注意到 ...