我有一个Vue 2项目,我正在升级到Vue 3。因为Vue CLI的生命周期已经结束,我决定迁移到Vite。有很多突破性的变化,所以几乎我的/src文件夹中的每个文件都需要某种程度的重构。
我想一次只处理一个部分,我不想让vue-tsc尝试编译任何不依赖于任何输出文件的代码。目前,它正在尝试编译我/src文件夹中的 EVERY .ts和.vue文件。有没有方法可以配置我的项目以我所描述的方式工作?
import { fileURLToPath, URL } from 'node:url'
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
// https://vitejs.dev/config/
export default defineConfig({
plugins: [vue()],
resolve: {
alias: {
'@': fileURLToPath(new URL('./src', import.meta.url))
}
},
build: {
outDir:'../wwwroot/dist',
rollupOptions: {
input: {
cards: fileURLToPath(new URL('./src/pages/cards/cards.ts', import.meta.url)),
},
output: {
entryFileNames: `[name].js`,
chunkFileNames: `chunks/[name].js`,
assetFileNames: `assets/[name].[ext]`
}
},
},
})
2条答案
按热度按时间xkrw2x1b1#
你要找的是维特的版本库。
默认情况下,构建包括指定的条目和
public
文件夹的内容。通过声明为
external
1(在输出中import
被替换为require()
),可以从构建中排除由包含条目导入的任何模块。如果不排除,它们将被包含(缩小)。1-一个值得注意的例外是当你的库有
.jsx
或.tsx
导出时,在这种情况下,Vite将包括自动JSX运行时。当导出react组件时,可以避免在react
插件的选项中使用jsxRuntime: 'classic'
。我猜vue()
也是如此,但我从未在Vue中使用过jsx。vcirk6k62#
我的问题有点用词不当,因为虽然错误是从运行脚本Vite构建过程中发出的,但它是vue-tsc导致的。
我的package.json脚本部分看起来像这样:
作为构建过程的一部分,vue-tsc(Vue的ts SFC编译器)会运行。它会拾取所有内容,甚至包括项目中未使用的文件。因此,只需使用
build-only
命令即可运行构建并跳过类型检查。