如何从 svelte-kit build 中排除文件?
How do I exclude files from svelte-kit build?
如果我 运行 npm run build
使用 SvelteKit,它似乎包含 src
文件夹中的所有文件。是否可以排除某种文件类型(例如 *test.js
)?
例子
Select 演示应用 npm init svelte@next my-app
将以下代码添加到src/routes/todos/foo.test.js
describe('foo', () => {
it('temp', () => {
expect(true).toBe(false)
})
})
npm run build
npm run preview
结果:describe is not defined
解决方法
将测试移到 src
之外
SvelteKit 1.0.0 支持 routes
configuration,可以从 src/routes
目录中排除文件。配置值是一个接收文件路径作为参数的函数,returns true
将文件用作路由。
例如,以下 routes
配置从路由中排除 *.test.js
个文件:
// sveltekit.config.js
⋮
const config = {
kit: {
⋮
routes: filepath => {
return ![
// exclude *test.js files
/\.test\.js$/,
// original default config
/(?:(?:^_|\/_)|(?:^\.|\/\.)(?!well-known))/,
].some(regex => regex.test(filepath))
},
},
}
如果我 运行 npm run build
使用 SvelteKit,它似乎包含 src
文件夹中的所有文件。是否可以排除某种文件类型(例如 *test.js
)?
例子
Select 演示应用
npm init svelte@next my-app
将以下代码添加到
src/routes/todos/foo.test.js
describe('foo', () => { it('temp', () => { expect(true).toBe(false) }) })
npm run build
npm run preview
结果:describe is not defined
解决方法
将测试移到 src
SvelteKit 1.0.0 支持 routes
configuration,可以从 src/routes
目录中排除文件。配置值是一个接收文件路径作为参数的函数,returns true
将文件用作路由。
例如,以下 routes
配置从路由中排除 *.test.js
个文件:
// sveltekit.config.js
⋮
const config = {
kit: {
⋮
routes: filepath => {
return ![
// exclude *test.js files
/\.test\.js$/,
// original default config
/(?:(?:^_|\/_)|(?:^\.|\/\.)(?!well-known))/,
].some(regex => regex.test(filepath))
},
},
}