微信小程序 rich-text 超过 2 行显示省略号

rich-text(富文本),如果想实现文本超过两行变成省略号,常规的 div 可以实现,但因为是在微信小程序中,同时使用的是 rich-text 返回的是富文本,所以不能简单的使用以下代码实现:

word-break: break-all;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
overflow: hidden;

因为富文本使用的 rich-text 回显的,想着直接对这个标签写上这个 CSS,发现也无法达到想要的效果。Android 真机可以正常显示,在模拟器上也能正常变成省略号,但 iOS 真机不兼容。

解决办法

在回显的 rich-text 中包裹一层 div,在这个包裹层中写上样式,就可达到超过两行隐藏的效果。

<rich-text style="word-wrap: break-word;word-break: break-all;" nodes="<div style='text-overflow:ellipsis; -webkit-box-orient:vertical;-webkit-line-clamp:2; overflow: hidden; display: -webkit-box;'>{{assetInfo.description}}</div>"></rich-text>

如上演示加粗部分就是需要手工增加的内容,手工在数据外加一层 div 包裹在外即可解决问题。

如何使用 NPM 将 package.json 内的依赖一键升级到最新版本

随着项目的创建、维护及迭代会使 package.json 内部引入很多的依赖,但依赖也是会随着时间进行更新,当后期使用其他依赖时,现有的部份依赖因为版本老旧问题导致无法安装,这时就需要更新依赖,那么如何使用 NPMpackage.json 一键升级到最新版本?

全局安装 npm-check-updates

npm i -g npm-check-updates

检查并更新依赖版本

package.json 所在目录(根目录)执行如下命令,可以查看当前的以来版本和最新的依赖版本

ncu -u

执行完毕之后,可以看到所有依赖的当前的版本和最新版本号

重新安装依赖

npm install

重新安装依赖后 package.json 内的依赖版本就会更新到最新版本

Vue 项目配置 @ 别名

在实际项目中,我们通常可以将 src 目录通过设置别名为 @ 目录,这样引入文件时候可以一目了然而且使用起来非常方便,可以提高我们的开发效率。

@ 代表的是 src 文件夹,这样将来文件过多,找的时候也方便,而且也还有提示。

Webpack + JavaScript 项目配置 @ 别名

在项目新建 vue.config.js,编辑 vue.config.js 内容如下:

const path = require('path')
 
function resolve(dir) {
  return path.join(__dirname, dir)
}
 
module.exports = {
  configureWebpack: {
    resolve: {
      alias: {
        '@': resolve('src')
      }
    }
  }
}

新建 jsconfig.json,内容如下:
@node_moulesdist 文件中不能使用)

# 方法一

{
  "compilerOptions": {
    "target": "es5",
    "module": "esnext",
    "baseUrl": "./",
    "moduleResolution": "node",
    "paths": {
      "@/*": [
        "src/*"
      ]
    },
    "lib": [
      "esnext",
      "dom",
      "dom.iterable",
      "scripthost"
    ]
  }
}
# 方法二

{
  "compilerOptions": {
    "baseUrl": "./",
    "paths": {
      "@/*": [
        "src/*"
      ]
    }
  },
  "exclude": [
    "node_modules",
    "dist"
  ]
}

Vite + TypeScript 项目配置 @ 别名

编辑 vite.config.ts 内容如下:

import vue from '@vitejs/plugin-vue'
import { defineConfig } from 'vite'
import { resolve } from 'path'
 
export default defineConfig({
  resolve: {
    alias: {
      '@': resolve(__dirname, 'src') // 路径别名
    },
    extensions: ['.js', '.json', '.ts', '.vue'] // 使用路径别名时想要省略的后缀名,可以自己 增减
  }
})

编辑 tsconfig.json,内容如下:

{
  "compilerOptions": {
    "baseUrl": ".",
    // 用于设置解析非相对模块名称的基本目录,相对模块不会受到baseUrl的影响
    "paths": {
      // 用于设置模块名到基于baseUrl的路径映射
      "@/*": [
        "src/*"
      ]
    }
  }
}

使用方法

重新运行一遍项目即可

import Home from '@/pages/Layout/index.vue'

可能出现的问题

使用 WebStorm + Vue 3 + TypeScript 开发项目时使用 @ 别名可能会存在以下报错:

Cannot find module ‘@/views/xxx.vue‘ or its corresponding type declarations

意思是说找不到对应的模块“@/views/xxx.vue”或其相应的类型声明,因为 TypeScript 只能解析 .ts 文件,无法解析 .vue 文件

解决方法

查找项目内的 vite-env.d.ts 文件,一开始的时候 vite-env.d.ts 是空文件,我们可以在其中引入如下代码:

declare module '*.vue' {
  import { DefineComponent } from "vue"
  const component: DefineComponent<{}, {}, any>
  export default component
}

加入上面的代码后重新运行项目就不再报错了。

参考文章

Vue项目中怎么配置在src文件下@别名
vue3/vue2 项目配置 别名 @
Cannot find module ‘../views/HomeView.vue‘ or its corresponding type declarations.ts
webstorm vue3+ts报错:Cannot find module ‘@/views/xxx.vue‘ or its corresponding type declarations

旅行 · 记录 · 2023

从学校毕业答辩完成离校以后,外出旅游了一次,想把这次的旅行记录一下,不过介于时间有点长,可能有些详细内容已经记不清楚了,这次旅行前往了北京和天津这两座城市。

当然,不确定这个文章会有多少人能够看到,主要也算是自己记录一下吧,想起来什么就说什么,所以可能会很乱,如果你看到这篇文章你也可以在评论区留下自己想说的话,与我一起分享。

北京 · 旅行

5月29日下午,坐动车到达了北京,到达前在网上看了很多旅行路线推荐,但是真到了北京之后倒也是没有跟推荐的路线走,而是想到了哪就去哪。

5月29日下午到达北京后先坐地铁不断换乘前往自己住的酒店,北京的酒店相较其他大部分城市来说属于价格比较贵的了(可能只是相较于本人来说),我住的酒店在朝阳公园旁边,在美团上订的一晚200+,而且也不是连锁酒店,如果想去北京手头富裕的话还是建议住连锁品牌的酒店。有一说一,任何平台上的房间图建议不要太相信,同时也多看看酒店评论和其中的图片,给自己打个预防针,而且这个地方寸土寸金,每个房间不可能都太大,当然如果钱多的话那就另说了。同时,尽可能住的房间窗户不建议选走廊的,晚上睡觉的时候会很吵。

其次,北京的交通特别发达,但是不同线的地铁之间换乘在有些站很麻烦,有时候需要在通道里走很远,但是在哪里都能很方便的找到地铁口。同时,北京人也很多基本每个地铁都是人从众叕,如果是第一次来的话需要做好心理准备。

当天晚上坐公交车先去了一趟三里屯,三里屯分北区、南区、西区还有三里屯SOHO,第一天晚上可以来这里看看,能够看到很多街拍。一些大牌也都能在这里找到,如果时间允许可以都逛一逛。美食也有很多,可以在平台上看看有没有自己喜欢美食。我当天晚上吃的麻辣香锅,吃饱喝足以后就回酒店了,在北京基本交通出行如果远的话基本都一小时打底。

第二天早晨,早早就起来了,洗漱完以后就去了护国寺小吃,点了份豆汁、焦圈、麻酱烧饼。豆汁酸溜的,大部分人可能都不太能喝的下,我也就喝了半碗。但是去都去了,点一碗可以尝尝。

吃过早餐以后就坐地铁到天安门广场参观,现在如果想要近距离参观天安门和天安门广场,需要至少提前一天在“天安门广场预约参观”小程序上进行预约,里面分为了升旗、上午、下午、降旗,这四个时间段每天都可分别预约一次,到了预约的当天就可以去了,坐地铁出来时会有一次刷身份证过安检的环节,有点费时间,所以建议早点去,从地铁站出来后到天安门前还会有一次安检,这次的安检会比地铁站内的严格,所以更费时间,我从地铁下车到进入天安门耗时将近一个小时。过完安检之后就可以近距离参观天安门雄伟壮观的景象啦。

推荐的游览路线:人民英雄纪念碑 – 毛主席纪念堂(需要提前预约)- 天安门(需要提前预约)-故宫(需要提前预约)

我来北京前预约天安门广场预约的日期毛主席纪念堂和故宫当天的票已经都预约满了,所以我预约的6月2日参观毛主席纪念堂和故宫。这些地方通过刷身份证能够知道你当天是否预约了,所以在北京建议时刻带着身份证。

未完待续