首页 > 其他分享 >vue3+ts+vant写移动端项目部Android机页面打开空白

vue3+ts+vant写移动端项目部Android机页面打开空白

时间:2024-03-18 10:01:15浏览次数:25  
标签:vant vue3 ts vite path import true VITE

前言

  部分安卓机因为内置webview较老,所以无法识别最新的es6的语法,页面打开空白。解决方式,vite项目就使用@vitejs/plugin-legacy,其他项目可以选择使用@babel/core @babel/cli @babel/preset-env

  这里主要提vite项目,因为babel项目的相关博客较多,就不再复述。

 

vite.config.ts

import { defineConfig } from "vite";
import vue from "@vitejs/plugin-vue";
import postcssPxtoRem from "postcss-pxtorem";
import { loadEnv } from "vite";
// import { autoComplete, Plugin as importToCDN } from "vite-plugin-cdn-import";
import viteCompression from "vite-plugin-compression";
import { resolve } from "path";
import legacy from "@vitejs/plugin-legacy";

export default defineConfig(({ mode, command }) => {
  const { VITE_BUILD_NAME } = loadEnv(mode, process.cwd());

  const server: any = {
    host: true, // host设置为true才可以使用network的形式,以ip访问项目
    port: 8080, // 端口号
    strictPort: true, // 如果端口号被占用自动退出
    // https: true,
    proxy: { // 服务器代理配置
      // "^/api": {
      //   target: "http://10.88.80.183:3000",
      //   changeOrigin: true,
      //   rewrite: (path) => path.replace(/^\/api/, ""),
      // },
    },
    // middleware: [], // 中间件
    hmr: true, // 开启热更新
    open: false, // 自动打开浏览器
    cors: true, // 跨域设置允许
  };

  const useLegacy: any = legacy({
    targets: [
        '> 1%',
        'not ie 11',
        'not op_mini all',
        'chrome >= 78',
        'edge >= 78',
        'firefox >= 72',
        'safari >= 13',
        'opera >= 67',
    ],
  })

  // 服务器代理配置
  // server.proxy[VITE_PROXY_PREFIX] = {
  //   target: VITE_APP_API_URL,
  //   changeOrigin: true,
  //   // rewrite: (path) => path.replace(new RegExp(`^${VITE_DR_PROXY_PREFIX}`), ""),
  // };

  // server.proxy[VITE_PROXY_PREFIX2] = {
  //   target: VITE_APP_API_URL2,
  //   changeOrigin: true,
  //   // rewrite: (path) => path.replace(new RegExp(`^${VITE_DR_PROXY_PREFIX2}`), ""),
  // };

  return {
    envPrefix: "", //配置自定义文件字段开头
    base: '/',
    server,
    plugins: [
      vue(),
      // importToCDN({
      //   modules: [
      //     autoComplete("vue"),
      //     {
      //       name: "vant",
      //       var: "vant", // 根据main.ts中定义的来
      //       path: "https://cdn.bootcdn.net/ajax/libs/vant/4.6.8/vant.min.js",
      //       css: "https://cdn.bootcdn.net/ajax/libs/vant/4.6.8/index.min.css",
      //     },
      //   ],
      // }),
      viteCompression({
        verbose: true,
        disable: false,
        deleteOriginFile: false,
        algorithm: "gzip",
        ext: "gz",
      }),
      useLegacy
    ],
    resolve: {
      alias: {
        "@": resolve(__dirname, "./src"),
      },
      //extensions: [".ts", ".js", ".vue", ".json", ".mjs"],
      extensions: [".mjs", ".js", ".ts", ".jsx", ".tsx", ".json", ".vue"],
    },
    css: {
      postcss: {
        plugins: [
          postcssPxtoRem({
            rootValue: 16, // 按照自己的设计稿
            unitPrecision: 5, // 保留到5位小数
            selectorBlackList: ["ignore", "tab-bar", "tab-bar-item"], // 忽略转换正则匹配项
            propList: ["*"],
            replace: true,
            mediaQuery: false,
            minPixelValue: 0,
          }),
        ],
      },
    },
    optimizeDeps: {
      entries: [], // 指定自定义条目——该值需要遵循 fast-glob 模式
      exclude: ['vconsole'], // 在预构建中强制排除的依赖项
      include: [], // 可强制预构建链接的包
      keepNames: false, // true 可以在函数和类上保留 name 属性
    },
    build: {
      outDir: VITE_BUILD_NAME
    }
  };
});

  

标签:vant,vue3,ts,vite,path,import,true,VITE
From: https://www.cnblogs.com/zxd66666/p/18079735

相关文章

  • Qt/C++监控推流设备推流/延迟极低/实时性极高/rtsp/rtmp推流/hls/flv/webrtc拉流/调整
    一、前言算下来这个推流的项目作品写了有四年多了,最初第一个版本只有文件点播的功能,用的纯QTcpSocket通信实现,属于比较简单的功能。由于文件点播只支持文件形式的推流,不支持网络流或者本地设备采集,所以迫切需要打破这个瓶颈,而后加入核心的网络推流功能,这也是本项目的核心功能,不仅......
  • Redis缓存和MyBaits整合
    目录一.基础知识1.Redis缓存2.特点二.使用Redis1.下载redis2.安装RedisDesktopManager软件3.连接Redis三.Redis缓存和MyBaits整合1.加入依赖2.配置文件3.配置类4.创建数据库和实体类5.使用四.练习一.基础知识1.Redis缓存缓存(*Cache),就是数据交换的*缓......
  • TypeError [ERR_UNKNOWN_FILE_EXTENSION]: Unknown file extension ".ts" for xx.ts
    TypeError[ERR_UNKNOWN_FILE_EXTENSION]:Unknownfileextension".ts"假如你在编写一个Typescript库函数,你希望将其编译为ESModule,那么你可以通过在package.json中声明"type":"module"来告诉使用者你的库函数使用的模块规范是ESModule。但如果你使用ts-node来运......
  • 「深入理解Java I/O:FilterInputStream」
      咦咦咦,各位小可爱,我是你们的好伙伴——bug菌,今天又来给大家普及Java之IO流啦,别躲起来啊,听我讲干货还不快点赞,赞多了我就有动力讲得更嗨啦!所以呀,养成先点赞后阅读的好习惯,别被干货淹没了哦~前言  JavaI/O是Java编程语言的核心功能之一,提供了丰富的输入输出操作......
  • Vue — Vue3.0快速掌握
    一.使用create-vue创建项目1.环境条件node版本在16.0以上2.创建vue3.0应用npminitvue@latest//创建npminstall//下载依赖3.项目目录和关键文件1.vite.config.js:项目的配置文件基于vite的配置2.package.接送:项目包文件核心依赖变成了Vue3.X和vite3.main.js:入......
  • echarts实践总结(常用一):柱状图(特点:渐变色、点击缩放、左右滑动、悬浮展示样式)
    目录第一章echarts基本使用第二章echarts实践——柱状图效果展示第一章echarts基本使用Echarts常用配置项(详细入门)_echarts配置项手册-CSDN博客第二章echarts实践——柱状图最近接到这么一个需求,需要画页面,然后有这么几个echarts的图需要画,平常我们通过教程......
  • 【前端Vue】Vue3+Pinia小兔鲜电商项目第1篇:认识Vue3,1. Vue3组合式API体验【附代码文
    全套笔记资料代码移步:前往gitee仓库查看感兴趣的小伙伴可以自取哦,欢迎大家点赞转发~全套教程部分目录:部分文件图片:认识Vue31.Vue3组合式API体验通过Counter案例体验Vue3新引入的组合式API<script>exportdefault{data(){return{count:0......
  • 安装install.package("devtools")时报错 提示systemfonts,textshaping, ragg, gert依赖
    devtools可用conda,R的install.packages()以及wget等方式安装,这里我采用install.packages()安装,碰到systemfonts,textshaping,ragg,gert几个依赖包的安装错误。install.package("devtools")错误形式与解决,参考:https://www.cnblogs.com/shuaihe/p/17823059.html1.systemfonts解......
  • 发布 VectorTraits v2.0(支持 x86的Sse系列指令集等)
    目录支持x86的Sse系列指令集为Vector128/Vector256补充全部的向量方法提供CPU型号信息结果范例1:X86CPUonWindows结果范例2:ArmCPUonLinux结果范例3:ArmCPUonMacOS提供所支持的指令集信息结果范例1:X86CPUonWindows结果范例2:ArmCPUonLinux结果范例3:Arm......
  • HarmonyOS 与 ArkTS | 自定义组件
    HarmonyOS与ArkTS|自定义组件原效果:代码:@Entry@ComponentstructIndex{build(){Column(){Row(){Column(){this.ItemCard($rawfile('ic_controlcenter_eyeconfort_filled.png'))Divider().margin({top......