Files
front-pc/nuxt.config.ts

158 lines
4.7 KiB
TypeScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// import { base_api } from '~/constants/index'
// https://nuxt.com/docs/api/configuration/nuxt-config
import postcsspxtoviewport from 'postcss-px-to-viewport'
export default defineNuxtConfig({
// devServer: {
// port: 6188,
// },
devtools: {
enabled: process.env.NODE_ENV === 'development',
},
debug: process.env.NODE_ENV === 'development', // 开启详细调试日志
ssr: true,
modules: ['@unocss/nuxt', '@pinia/nuxt', '@element-plus/nuxt', 'pinia-plugin-persistedstate/nuxt','@vant/nuxt'],
unocss: {
nuxtLayers: true,
},
elementPlus: {
importStyle: 'scss', // 或 'css',确保样式被全局导入
themes: ['dark'], // 按需配置主题
},
css: ['element-plus/dist/index.css', '~/assets/scss/app.scss'],
vite: {
css: {
preprocessorOptions: {
scss: {
additionalData: `@use "~/assets/scss/variables.scss" as *; @use "~/assets/scss/mixins.scss" as *;`,
},
},
postcss: {
plugins: [
postcsspxtoviewport({
unitToConvert: 'px',
viewportWidth: 750,
unitPrecision: 6,
propList: ['*'],
viewportUnit: 'vw',
fontViewportUnit: 'vw',
selectorBlackList: ['el-'],
minPixelValue: 1,
mediaQuery: true,
replace: true,
// 严格只允许 pages/mobile 下的文件被转换
// 使用强排除:排除 node_modules 和 所有不在 pages/mobile 下的文件
exclude: [
/node_modules/,
/^(?!.*\/(pages|src)\/mobile\/).*$/
],
landscape: false,
// 可选:进一步放宽 include以便某些移动端专用布局文件也参与
include: [/\/pages\/mobile\//],
}),
],
},
},
optimizeDeps: {
include: ['element-plus','unocss'], // 预构建依赖项
},
// 生产环境构建优化
build: {
// 生产环境移除 console 和 debugger
minify: 'esbuild',
target: 'es2020',
},
esbuild: {
// 生产环境下移除所有 console 语句和 debugger
drop: process.env.NODE_ENV === 'production' ? ['console', 'debugger'] : [],
},
},
// 页面过渡配置
app: {
// pageTransition: {
// name: "page",
// mode: "out-in",
// duration: 400,
// },
// layoutTransition: {
// name: "default",
// mode: "out-in",
// duration: 400,
// },
head: {
title: '图夕夕-世界图纸 夕夕共享',
htmlAttrs: {
lang: 'en',
},
meta: [
{ charset: 'utf-8' },
{ name: 'viewport', content: 'width=device-width, initial-scale=1' },
{
name: 'description',
content: '图夕夕是一家图纸素材分享交易平台提供AutoCAD/ProE/Creo/CATIA/UG/inventor/CAXA/等建筑图纸的素材下载及免费教程。',
},
{ name: 'keywords', content: '图纸,图纸下载,设计素材,图纸大全,设计图纸,,工程图纸,cad图纸' },
{ name: 'author', content: '图夕夕' },
// SEO meta tags
// {
// property: 'og:title',
// content: '图纸,图纸下载,设计素材,图纸大全,设计图纸,,工程图纸,cad图纸',
// },
// {
// property: 'og:description',
// content: '图夕夕是一家图纸素材分享交易平台提供AutoCAD/ProE/Creo/CATIA/UG/inventor/CAXA/等建筑图纸的素材下载及免费教程。',
// },
// { property: 'og:type', content: 'website' },
// { property: 'og:url', content: 'https://www.xlcig.cn' },
// { property: 'og:site_name', content: 'xlCig' },
// { name: 'theme-color', content: '#00f5ff' },
// // robots meta
// { name: 'robots', content: 'index, follow' },
],
link: [
{ rel: 'icon', type: 'image/x-icon', href: '/favicon2.ico' },
{ rel: 'stylesheet', type: 'text/css', href: 'https://unpkg.com/swiper@8/swiper-bundle.css' },
],
script: [
{
type: 'text/javascript',
src: 'https://unpkg.com/swiper@8/swiper-bundle.js',
},
],
},
},
runtimeConfig: {
public: {
// API 基础地址
apiBase: 'https://tuxixi.net',
// 应用信息
appName: 'xlCig',
appVersion: '1.0.0',
// 调试模式
debug: process.env.NODE_ENV === 'development',
// 环境标识
environment: process.env.NODE_ENV || 'development',
},
},
build: {
transpile: process.env.NODE_ENV === 'production' ? ['lodash'] : [],
},
plugins: [
// 在这里引入插件
{
src: '~/plugins/wang-editor',
mode: 'client',
},
],
piniaPluginPersistedstate: {
storage: 'localStorage',
},
})