Skip to content

常见错误

编译错误

下面介绍在 pnum run build 时常见留医部

内存不够

如果出现以下错误

...
[28697:0x148008000]    74923 ms: Mark-sweep 4047.7 (4138.8) -> 4035.1 (4142.3) MB, 3481.2 / 0.0 ms  (average mu = 0.109, current mu = 0.
031) allocation failure scavenge might not succeed
...

然后执行以下命令

pnpm add increase-memory-limit
increase-memory-limit

然后修改tsconfig.json

{
  "compilerOptions": {
   ...
  },
  "include": [
    
  ],
  "exclude": ["node_modules", "dist"]
}

然后再执行编译,再看具体错误

pnpm run build

vueuse

如果果出现以下错误

onadvertisementreceived: (this: BluetoothDevice, ev: BluetoothAdvertisingEvent) => any;

首先安装类型声明

pnpm add @types/web-bluetooth

然后在 tsconfig.json中定义

"compilerOptions": {
  ...
  "types": ["element-plus/global", "echarts", "lodash", "web-bluetooth"]
},

type-fest

下面错误是因为没有安装 type-fest

Cannot find module 'type-fest' or its corresponding type declarations.

安装type-fest包即可

pnpm add type-fest

element-plus

需要将vue-tsc升级到版本中,因为package.json中 "vue-tsc": "^0.29.8",所以需要先删除后再升级

你也可以在 element-pluspackage.json文件中查看他使用的版本

pnpm un vue-tsc
pnpm add -D vue-tsc

tailwindcss

如果编译后tailwindcss优先级高于element-plus,我们可以在 vue模板index.html内body标签前添加

<link rel="stylesheet" href="//unpkg.com/element-plus/dist/index.css" />

mockjs

出现类似以下错误

 Could not find a declaration file for module 'mockjs'

请安装mockjs的类型声明

pnpm add -D  @types/mockjs

icon-park

如果编译后的 icon-pack 文件过大,那是你全局引入了 icon-pack,我们需要使用 unplugin-vue-componentsunplugin-auto-import 进行按需要引入

Components({
  resolvers: [
    ...
    (componentName) => {
      if (componentName.startsWith('Icon')) {
        return { name: componentName.slice(4), from: '@icon-park/vue-next' }
      }
    },
  ],
  ...
}),
...

如果添加配置报错需要升级 unplugin-vue-componentsunplugin-auto-import

pnpm un unplugin-vue-components
pnpm un  unplugin-auto-import
pnpm add -D unplugin-vue-components
pnpm add -D unplugin-auto-import

dayjs

如果编译后出现以下错误,因为你可能使用了 dayjs的 isLeapYear 插件,不要使用即可

u is not a function  dayjs