解决vue3+ts打包,ts类型检查报错导致打包失败,goview打包报错options

本文讲述了在使用goview进行开源大屏项目时,遇到的TypeScript类型检查导致打包失败的问题,通过临时禁用类型检查并提供生产模式打包命令解决。同时,还提到了可能遇到的js内存溢出问题及其解决方法。
摘要由CSDN通过智能技术生成

最近拉的开源大屏项目goview,在打包的过程中一直报Ts类型报错导致打包失败,项目的打包命令为:

"build": "vue-tsc --noEmit && vite build"

是因为 vue-tsc --noEmit 是 TypeScript 编译器(tsc)的命令,vite build 则是使用 Vite 进行最终的构建。所以会检测ts的类型是否写的正确标准,如果项目中类型错误少的话可以一一解决并打包但是goview的TS类型错误的地方实在太多了,所以直接不检测类型来进行打包。

在 package.json的"scripts"中添加

"build:pro": "vite build --mode production"

然后使用 npm run build:pro 进行打包就没问题了。 

如果你也使用的是goview做大屏项目,那么解决完这个问题之后还有可能遇到打包的时候 js占内存溢出导致打包失败的问题,可以看一下这个文章,扩一下node.js内存就没问题了

解决js栈内存溢出导致打包报错的问题

  • 11
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
Vue 3 + TypeScript + Vite项目中使用PurgeCSS进行打包时,可能会遇到打包失败的问题。这通常是由于PurgeCSS与TypeScript的类型检查器发生冲突导致的。 要解决这个问题,可以尝试在Vite的配置文件中添加一个插件,用于在TypeScript类型检查完成后再运行PurgeCSS。以下是一个示例配置: ```javascript // vite.config.js import { defineConfig } from 'vite'; import vue from '@vitejs/plugin-vue'; import PurgeIcons from 'vite-plugin-purge-icons'; import PurgeCSS from '@fullhuman/postcss-purgecss'; import autoprefixer from 'autoprefixer'; import postcssImport from 'postcss-import'; export default defineConfig({ plugins: [ vue(), PurgeIcons(), { name: 'postcss', apply: 'build', async transform(code, id) { if (!/\.vue\?/.test(id)) { return; } const postcssPlugins = [ postcssImport(), autoprefixer(), ]; if (this.isProduction) { postcssPlugins.push(PurgeCSS({ content: [id], safelist: [ 'html', 'body', ], })); } const { css } = await require('postcss')(postcssPlugins).process(code, { from: id }); return { code: css, }; }, }, ], }); ``` 在这个配置中,我们使用Vite的插件系统来运行PostCSS。在PostCSS中,我们使用了PurgeCSS来清除未使用的CSS,但是只在生产环境中使用。在Vite的配置中,我们使用了一个名为`postcss`的自定义插件,并在`apply`选项中指定了它只在打包时运行。 在这个自定义插件中,我们首先检查文件是否为Vue文件,如果不是,直接返回。接下来,我们定义了PostCSS的插件列表,包括`postcss-import`和`autoprefixer`。如果在生产环境中,我们还会添加一个`@fullhuman/postcss-purgecss`插件来清除未使用的CSS。 最后,我们使用动态`require`语句来运行PostCSS,并返回处理后的CSS。这样,我们就可以在TypeScript类型检查完成后再运行PurgeCSS,避免了它们之间的冲突。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值