This commit is contained in:
dap 2024-10-21 19:31:09 +08:00
commit ade90a5bdd
4 changed files with 23 additions and 5 deletions

View File

@ -141,12 +141,19 @@ After deploying to `nginx`you might encounter the following error:
Failed to load module script: Expected a JavaScript module script but the server responded with a MIME type of "application/octet-stream". Strict MIME type checking is enforced for module scripts per HTML spec. Failed to load module script: Expected a JavaScript module script but the server responded with a MIME type of "application/octet-stream". Strict MIME type checking is enforced for module scripts per HTML spec.
``` ```
Solution: Solution 1:
```bash ```bash
http { http {
#If there is such a configuration, it needs to be commented out
#include mime.types;
types { types {
application/javascript js mjs; application/javascript js mjs;
} }
} }
``` ```
Solution 2
Open the `mime.types` file under `nginx` and change `application/javascript js;` to `application/javascript js mjs;`

View File

@ -141,12 +141,19 @@ at Extract (vue-vben-admin-main\node_modules@purge-icons\core\dist\index.js:173:
Failed to load module script: Expected a JavaScript module script but the server responded with a MIME type of "application/octet-stream". Strict MIME type checking is enforced for module scripts per HTML spec. Failed to load module script: Expected a JavaScript module script but the server responded with a MIME type of "application/octet-stream". Strict MIME type checking is enforced for module scripts per HTML spec.
``` ```
解决方式: 解决方式
```bash ```bash
http { http {
#如果有此项配置需要注释掉
#include mime.types;
types { types {
application/javascript js mjs; application/javascript js mjs;
} }
} }
``` ```
解决方式二:
进入 `nginx` 下的`mime.types`文件, 将`application/javascript js;` 修改为 `application/javascript js mjs;`

View File

@ -1,6 +1,7 @@
import type { AxiosRequestConfig, AxiosResponse } from 'axios'; import type { AxiosRequestConfig } from 'axios';
import type { RequestClient } from '../request-client'; import type { RequestClient } from '../request-client';
import type { RequestResponse } from '../types';
class FileDownloader { class FileDownloader {
private client: RequestClient; private client: RequestClient;
@ -12,13 +13,13 @@ class FileDownloader {
public async download( public async download(
url: string, url: string,
config?: AxiosRequestConfig, config?: AxiosRequestConfig,
): Promise<AxiosResponse<Blob>> { ): Promise<RequestResponse<Blob>> {
const finalConfig: AxiosRequestConfig = { const finalConfig: AxiosRequestConfig = {
...config, ...config,
responseType: 'blob', responseType: 'blob',
}; };
const response = await this.client.get<AxiosResponse<Blob>>( const response = await this.client.get<RequestResponse<Blob>>(
url, url,
finalConfig, finalConfig,
); );

View File

@ -4,6 +4,8 @@ import type {
InternalAxiosRequestConfig, InternalAxiosRequestConfig,
} from 'axios'; } from 'axios';
type RequestResponse<T = any> = AxiosResponse<T>;
type RequestContentType = type RequestContentType =
| 'application/json;charset=utf-8' | 'application/json;charset=utf-8'
| 'application/octet-stream;charset=utf-8' | 'application/octet-stream;charset=utf-8'
@ -42,6 +44,7 @@ export type {
RequestClientOptions, RequestClientOptions,
RequestContentType, RequestContentType,
RequestInterceptorConfig, RequestInterceptorConfig,
RequestResponse,
ResponseInterceptorConfig, ResponseInterceptorConfig,
}; };