我在我的 SSR Nuxt 项目中使用 Vite,作者为 nuxt-vite
但是我的 Nuxt 项目的文件夹结构不是默认的,而是自定义的,如下所示:
Nuxt 项目位于 Laravel 项目内部(我引用了这个项目)
一旦我用
npm run dev
运行vite: {ssr: true}
,因为package.json
位于根目录,但Nuxt项目不在,Vite
将监视根目录下文件夹中的所有更改。
我尝试指定Vite需要观看的文件夹
我的
nuxt.config.js
是
vite: {
ssr: true,
build: {
watch: {
include: 'client/**',
// or this
exclude: [
'.git',
'.nuxt',
'app',
'bootstrap',
'config',
'database',
'node_modules',
'public',
'resources',
'routes',
'storage',
'tests',
'vendor'
]
}
}
},
但是错误和以前一样:
Vite
仍然监视根目录下的所有文件夹
如何配置
Vite
以便可以正确观看文件夹?
您应该检查 nuxt.config 文件中的
process.cwd()
(执行 console.log)
如果您的
process.cwd()
与.git
所在位置不同,您可以按如下方式修改
vite: {
ssr: true,
build: {
watch: {
exclude: [
'.git',
'.nuxt',
'app',
'bootstrap',
'config',
'database',
'node_modules',
'public',
'resources',
'routes',
'storage',
'tests',
'vendor'
].map((file) => path.resolve(__dirname, '../' + file))
}
}
},
您也可以在配置中使用
rootDir: __dirname
更改您的 nuxt 根目录以相对于 nuxt 目录,以避免匹配 nuxt 之外的内容