记一次 vue + ts 开发踩坑

本次项目开发,使用了 vue-cli + ts + eslint + prettier + vs-code + vetur,

遇到的问题

配置相关

  • vscode eslint 不能在在*.vue或*.ts 中正常工作

    • 需要为eslint.options.validateLanguage添加 vue 和ts 的支持

  • vscode prettier不能在*.vue或*.ts 中正常工作

  • eslint 提示 import 的模块 unsused

    • 手动安装eslint eslint-plugin-typescript 并设置unsed-var规则

  • vscode始终提示装饰器的警告无法找到

    • vue配合tsconfig时,需要将tsconfig所在的文件作为单独的workspace打开

  • 在style less中使用alias路径

  • 在vue中使用jsx

  • 多个export * from './model' 提示undefined

    • 每个export之间需要换行

开发相关

  • koa使用 axios 转发请求,并转发:

    如果需要使用koa转发二进制资源,需要设置responseType: 'arraybuffer'

    const res = await axios({...})
    ctx.set(res.headers);
    ctx.status = res.status;
    ctx.body = res.data;

如何构建 https 服务

  1. 准备一台服务器,准备一个域名

  2. 构建node server

  3. 证书

    • 格式说明

    • 获得自签名证书

    • 获得正式证书(阿里云 赛门铁克)

  4. node server use https server & certificates

  5. http-server use certificates

mongodb 如何备份数据

  1. atlas 云服务,实时备份,定时备份

  2. cp

  3. Mongdodump & mongorestore

    • 适合轻量数据

    • 不会备份索引,需要restore之后重新构建

    • 不会备份 local db

github + jenkins 持续构建

使用docker容器集成 server 服务

推荐的库类

  • 项目中使用的库类

    • pinyin 中文拼音分词,获取拼音、多音字

    • dayjs 类moment api的时间库

    • node-cache node memory内存

    • consolidate 模版引擎渲染

    • nodejsonwebtoken 接口安全校验 example

Last updated