import Components from 'unplugin-vue-components/vite'
import { VantResolver } from 'unplugin-vue-components/resolvers'
export default defineNuxtConfig({
  nitro: {
    prerender: {
      crawlLinks: false,  // 禁止爬取其他页面
      routes: ['/'],  // 只预渲染指定的页面
    },
  },
  app: {
    // head
    head: {
      htmlAttrs: {
        lang: 'zh-CN' // 指定语言为中文（简体）
      },
      title: '合晶芯城 - 厂家直营 - 二极管 - 晶体管 - 电阻电容 - 集成电路 - 电子元器件交易平台',
      meta: [
        { charset: 'utf-8' },
        { name: 'viewport', content: 'width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no' },
        {
          name: "description",
          content: "合晶芯城（www.hotking.com）是国内厂家直营二极管、晶体管、电阻、电容、集成电路等电子元器件的一站式采购交易平台，直营包含合科泰电子HKT、合科泰半导体HOTTECH、厚声、乐山LRC、长电、村田、NXP、JST、旺诠、丽智等品牌，并为您提供快捷、优质、满意的电子元器件采购服务！",
        },
        {
          name: "keywords",
          content: "合晶芯城,二极管,晶体管,电阻,电容,集成电路,电子元器件网上商城",
        },
        {
          hid: 'og:title',
          property: 'og:title',
          content: '合晶芯城 - 厂家直营 - 二极管 - 晶体管 - 电阻电容 - 集成电路 - 电子元器件交易平台'
        },
        {
          hid: 'og:description',
          property: 'og:description',
          content: '合晶芯城是国内厂家直营二极管、晶体管、电阻、电容、集成电路等电子元器件的一站式采购交易平台，直营包含合科泰电子HKT、合科泰半导体HOTTECH、厚声、乐山LRC、长电、村田、NXP、JST、旺诠、丽智等品牌，并为您提供快捷、优质、满意的电子元器件采购服务！'
        },
      ],
      link: [
        { rel: 'icon', type: 'image/x-icon', href: '/favicon.svg' },
        { rel: 'canonical', href: 'https://h5.hotking.com' }
      ],
    },
  },
  devServer: {
    host: '0.0.0.0',
    port: 3000
  },
  imports: {
    autoImport: true
  },
  devtools: { enabled: true },
  modules: ["@nuxt/image", '@element-plus/nuxt', "@nuxtjs/i18n", "nuxt-swiper"],
  elementPlus: {
    importStyle: 'css', // 强制使用编译后的 CSS 文件
  },
  image: {
    provider: 'ipx', //默认的 ipx 提供者
    static: {
      // 可选的其他配置
    },
  },
  i18n: {
    vueI18n: './i18n.config.ts'
  },
  features: {
    inlineStyles: false // 新版本中的等效配置 // 禁用样式内联（核心配置）
  },
  css: ['vant/lib/index.css','@/assets/css/common.scss'],

  vite: {
    build: {
      minify: 'esbuild', // 使用 esbuild 进行更快的压缩
      cssCodeSplit: true, // 启用 CSS 代码分割（关键修改）
    },
    css: {
      preprocessorOptions: {
        scss: { //scss全局变量
          additionalData: '@import "@/assets/css/variable.scss";',
        }
      }
    },
    plugins: [
      Components({
        resolvers: [VantResolver()],
      }),
    ],
    ssr: {
      noExternal: ['vant'], // ✅ 关键：让 Vant 在 SSR 阶段打包，不报 .css 错误
    },
  },
  // generate:{ //指定动态路由
  //   routes:['/product','/category']
  // },
  runtimeConfig: {
    // 对客户端暴露的公共密钥
    public: {
      //默认测试站点  生产环境请修改 .env.production 文件的NUXT_PUBLIC_API_BASE属性为 接口访问地址 'http://www.xxx.com/api'
      siteUrl : process.env.SITE_URL || 'https://h5.hotking.com',
      apiBase: process.env.NUXT_PUBLIC_API_BASE, 
      baseLink: process.env.NUXT_PUBLIC_API_BASE,
      clubUrl: process.env.CLUB_URL,
      clubUrl_new: process.env.CLUB_URL_NEW,
      hopPcUrl: process.env.HOP_PC_URL || 'https://www.hotking.com/',
    }
  },
  postcss: {
    plugins: {
      // 这个工具可以实现自动添加CSS3前缀
      "autoprefixer": {
        overrideBrowserslist: ["last 5 version", ">1%", "ie >=8"]
      },
      'postcss-pxtorem': {
        rootValue: 37.5, // 指定转换倍率，我现在设置这个表示1rem=37.5px;
        // 如果设计稿的尺寸不是 375，而是 750 或其他大小
        //rootValue({ file }) {
        //	return file.indexOf('vant') !== -1 ? 37.5 : 75;
        //},
        propList: ['*'], // 属性列表，表示你要把哪些css属性的px转换成rem，这个*表示所有
        mediaQuery: true, // 是否允许使用媒体查询，false媒体查询的代码可用，true不可用
        exclude: 'ignore',
        replace: true, // 替换包含rem的规则，而不是添加回退
        minPixelValue: 1, // 需要转换的最小值，一般1px像素不转换，以上才转换
        unitPrecision: 6, // 转换成rem单位的小数点后的保留位数
        selectorBalckList: ["van", 'el'], // 匹配不被转换为rem的选择器
      },
    },
  }
})