diff --git a/package-lock.json b/package-lock.json index 7ff98b9..e4b4e02 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,6 +8,7 @@ "name": "queyue-h5", "version": "0.1.0", "dependencies": { + "lib-flexible": "^0.3.2", "next": "14.1.3", "react": "^18", "react-dom": "^18" @@ -31,7 +32,7 @@ "postcss": "^8", "postcss-flexbugs-fixes": "^5.0.2", "postcss-preset-env": "^9.5.1", - "postcss-px-to-viewport": "^1.1.1", + "postcss-pxtorem": "^6.1.0", "prettier": "^3.2.5", "typescript": "^5.2.2", "unocss": "^0.58.6" @@ -6089,6 +6090,11 @@ "node": ">= 0.8.0" } }, + "node_modules/lib-flexible": { + "version": "0.3.2", + "resolved": "https://registry.npmmirror.com/lib-flexible/-/lib-flexible-0.3.2.tgz", + "integrity": "sha512-9yowMWA70tKhKdCJDaltY0mNQG4OWo7pWKScnTp9aiSxS7s20ZYlwBRE3335nweOf5qKXVC7sDxJwMPM8/MFZg==" + }, "node_modules/lines-and-columns": { "version": "1.2.4", "resolved": "https://registry.npmmirror.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz", @@ -7450,14 +7456,13 @@ "postcss": "^8.4" } }, - "node_modules/postcss-px-to-viewport": { - "version": "1.1.1", - "resolved": "https://registry.npmmirror.com/postcss-px-to-viewport/-/postcss-px-to-viewport-1.1.1.tgz", - "integrity": "sha512-2x9oGnBms+e0cYtBJOZdlwrFg/mLR4P1g2IFu7jYKvnqnH/HLhoKyareW2Q/x4sg0BgklHlP1qeWo2oCyPm8FQ==", + "node_modules/postcss-pxtorem": { + "version": "6.1.0", + "resolved": "https://registry.npmmirror.com/postcss-pxtorem/-/postcss-pxtorem-6.1.0.tgz", + "integrity": "sha512-ROODSNci9ADal3zUcPHOF/K83TiCgNSPXQFSbwyPHNV8ioHIE4SaC+FPOufd8jsr5jV2uIz29v1Uqy1c4ov42g==", "dev": true, - "dependencies": { - "object-assign": ">=4.0.1", - "postcss": ">=5.0.2" + "peerDependencies": { + "postcss": "^8.0.0" } }, "node_modules/postcss-replace-overflow-wrap": { diff --git a/package.json b/package.json index 1734093..04d72fe 100644 --- a/package.json +++ b/package.json @@ -9,6 +9,7 @@ "lint": "eslint src --fix --ext .ts,.tsx,.js,.jsx,.mdx,.md,.json,.mjs --max-warnings 0" }, "dependencies": { + "lib-flexible": "^0.3.2", "next": "14.1.3", "react": "^18", "react-dom": "^18" @@ -32,7 +33,7 @@ "postcss": "^8", "postcss-flexbugs-fixes": "^5.0.2", "postcss-preset-env": "^9.5.1", - "postcss-px-to-viewport": "^1.1.1", + "postcss-pxtorem": "^6.1.0", "prettier": "^3.2.5", "typescript": "^5.2.2", "unocss": "^0.58.6" diff --git a/postcss.config.js b/postcss.config.js index e782cb7..ba8c80f 100644 --- a/postcss.config.js +++ b/postcss.config.js @@ -14,24 +14,15 @@ module.exports = { 'custom-properties': false, }, }, - 'postcss-px-to-viewport': { - unitToConvert: 'px', // 需要转换的单位 - viewportWidth: 375, // 设计稿宽度 - // viewportHeight: 667, // 设计稿高度 - unitPrecision: 5, // 单位转换后保留的精度 - propList: ['*'], // 指定转换那些属性,这里选择所有属性 - viewportUnit: 'vw', // 希望使用的视口单位 - fontViewportUnit: 'vw', // 字体使用的视口单位 - selectorBlackList: ['.max-w-screen-sm'], // 指定不转换那些选择器 - minPixelValue: 1, // 小于或等于`1px`不转换 - mediaQuery: false, // 是否在媒体查询中也转换`px` - replace: true, // 是否直接更换属性值,而不添加具有`vw`单位的新属性 - // exclude: [/node_modules/], // 忽略`node_modules`目录下的文件 - exclude: undefined, - include: undefined, - landscape: false, // 是否添加根据宽度来判断是否是横屏 - landscapeUnit: 'vw', - landscapeWidth: 568, + 'postcss-pxtorem': { + rootValue: 37.5, + unitPrecision: 5, + propList: ['*'], + selectorBlackList: ['.max-w-screen-sm'], + replace: true, + mediaQuery: false, + minPixelValue: 0, + exclude: '', }, }, }; diff --git a/src/app/layout.tsx b/src/app/layout.tsx index fc988ae..403a9be 100644 --- a/src/app/layout.tsx +++ b/src/app/layout.tsx @@ -1,3 +1,5 @@ +import LibFlexible from '@/components/LibFlexible'; + import type { Metadata, Viewport } from 'next'; import './globals.css'; @@ -19,7 +21,9 @@ export const viewport: Viewport = { export default function RootLayout({ children }: Readonly<{ children: React.ReactNode }>) { return ( -
{children} + +