优化开发编译速度

This commit is contained in:
mtvpls
2026-05-29 22:54:11 +08:00
parent b121b328c3
commit e74c7b15e0
2 changed files with 24 additions and 9 deletions
+19 -5
View File
@@ -1,6 +1,8 @@
/** @type {import('next').NextConfig} */
/* eslint-disable @typescript-eslint/no-var-requires */
const { PHASE_DEVELOPMENT_SERVER } = require('next/constants');
// 检测是否为 Cloudflare Pages 构建
const isCloudflare = process.env.CF_PAGES === '1' || process.env.BUILD_TARGET === 'cloudflare';
@@ -9,6 +11,9 @@ const optimizedPackageImports = [
'@dnd-kit/modifiers',
'@dnd-kit/sortable',
'@dnd-kit/utilities',
'@heroicons/react',
'lucide-react',
'react-icons',
];
const serverExternalPackages = [
@@ -24,7 +29,10 @@ const serverExternalPackages = [
'xpath',
];
const nextConfig = {
const createNextConfig = (phase) => {
const isDevelopment = phase === PHASE_DEVELOPMENT_SERVER || process.env.NODE_ENV === 'development';
const nextConfig = {
// Cloudflare Pages 不支持 standalone,使用默认输出
output: isCloudflare ? undefined : 'standalone',
eslint: {
@@ -117,11 +125,17 @@ const nextConfig = {
},
};
const withPWA = require('next-pwa')({
if (isDevelopment) {
return nextConfig;
}
const withPWA = require('next-pwa')({
dest: 'public',
disable: process.env.NODE_ENV === 'development',
register: true,
skipWaiting: true,
});
});
module.exports = withPWA(nextConfig);
return withPWA(nextConfig);
};
module.exports = createNextConfig;
+2 -1
View File
@@ -1,7 +1,6 @@
/* eslint-disable @typescript-eslint/no-explicit-any,no-console */
import bs58 from 'bs58';
import he from 'he';
import Hls from 'hls.js';
export type DoubanImageProxyType =
| 'direct'
@@ -509,6 +508,8 @@ export async function getVideoResolutionFromM3u8(
bitrate: string; // 视频码率(如 "2.5 Mbps"
}> {
try {
const { default: Hls } = await import('hls.js');
// 直接使用m3u8 URL作为视频源,避免CORS问题
return new Promise((resolve, reject) => {
const video = document.createElement('video');