最近在开发我的个人低代码平台,后端使用的是nest,在打包文件的时候遇到一些问题记录一下
遇到的问题
在我们使用nest打包的时候,如果我们没有配置assets,nest会默认忽略我们的静态文件(如图片等),但是在配置assets的时候,也遇到了一些问题,使用assets配置路径的情况下并没有将静态文件打包
一开始我配置的是,./src/assets/images 文件夹下所有的文件:
json
"compilerOptions": {
"deleteOutDir": true,
"assets": [
{
"include": "./src/assets/**/*",
"watchAssets": true
}
]
}
但是这个并没有将文件打包上去,后来在进过一些官网资料的查找后,测试找到了解决防范
解决方法一
设置直接打包所有的图片
json
"compilerOptions": {
"deleteOutDir": true,
"assets": [
{
"include": "**/*.jpg",
"watchAssets": true
}
]
}
但是注意**/*.jpg
和 *.jpg
的区别
*.jpg
:只会匹配 当前目录 下的.jpg
文件**/*.jpg
:会递归匹配 当前目录 以及所有子目录中的.jpg
文件
解决方法二
配置某个路径下的所有的资源
json
"compilerOptions": {
"deleteOutDir": true,
"assets": [
{
"include": "**/assets/**/*",
"watchAssets": true
}
]
}
路径的区别
这三个路径模式的区别如下:
./src/assets/\*
:- 只匹配
./src/assets/
目录下的文件和直接的子目录。 - 不会递归匹配子目录中的文件。
- 例如,如果
./src/assets/
里有文件file1.txt
和子目录dir1
,那么./src/assets/*
会匹配file1.txt
和dir1
,但不会匹配dir1
里的文件。
- 只匹配
./src/assets/\**/\*
:- 递归匹配
./src/assets/
及其所有子目录下的所有文件。 - 会进入任意深度的子目录,匹配所有文件。
- 例如,如果
./src/assets/
下有文件file1.txt
和子目录dir1
,而dir1
下又有文件file2.txt
,那么./src/assets/**/*
会匹配file1.txt
、dir1
和dir1/file2.txt
,以此类推,直到匹配所有文件和目录。
- 递归匹配
./src/assets/\**
:- 这个模式匹配的是
./src/assets/
及其所有子目录 的目录(不包括文件)。 - 只匹配目录,并递归查找子目录。
- 例如,如果
./src/assets/
中有文件file1.txt
和子目录dir1
,那么./src/assets/**
只会匹配./src/assets/
和./src/assets/dir1
,而不会匹配file1.txt
或dir1/file2.txt
。
- 这个模式匹配的是
补充
个人低代码:github.com/xiaojunnany... (求个star,还在开发中,欢迎体验)
目前正在做低代码与AI的结合,有想法的欢迎与我沟通