开发环境使用https配置

开发环境使用https配置

在vite.config.js

js 复制代码
import { defineConfig, loadEnv } from "vite";
import vue from "@vitejs/plugin-vue";
import vueJsx from "@vitejs/plugin-vue-jsx"; // 引入 JSX 插件
import AutoImport from "unplugin-auto-import/vite";
import Components from "unplugin-vue-components/vite";
import { ElementPlusResolver } from "unplugin-vue-components/resolvers";
import { resolve } from "path";
// import optionConfig from './oss.config';
// import vitePluginAliOss from 'vite-plugin-ali-oss';
import momConfig from "./mom.config";
import { createHtmlPlugin } from "vite-plugin-html";
// 引入postcss-x2rem
import px2rem from "postcss-px2rem"; // 分辨率适配
import basicSsl from "@vitejs/plugin-basic-ssl";

const pathResolve = (dir) => {
  return resolve(__dirname, ".", dir);
};
// https://vitejs.dev/config/
export default defineConfig(({ mode }) => {
  const prod = process.env.NODE_ENV === "production";
  let base = momConfig.biuldBasePath;
  let plugins = [
    vue(),
    vueJsx(), // 启用 JSX 支持
    basicSsl(), // 加入这一行即可
    AutoImport({
      imports: [
        "vue",
        "vue-router",
        "pinia",
        // 可添加更多预设,如 '@vueuse/core'
      ],
      dts: "./auto-imports.d.ts", // 指定生成的声明文件路径
      eslintrc: {
        enabled: true, // 生成 .eslintrc-auto-import.json 供 ESLint 使用
      },
    }),
    Components({
      resolvers: [ElementPlusResolver()],
    }),
    /** 配置向html文件中注入数据的插件,向html文件中注入配置数据 */
    createHtmlPlugin({
      minify: true,
      inject: {
        data: {
          ...momConfig,
        },
      },
      template: "/index.html", // 指定根路径下的HTML模板文件
    }),
  ];
  return {
    base: base, // must be URL when build
    plugins: plugins,
    build: {
      /** 指定输出路径 */
      outDir: "dist",
      //   关闭文件计算
      reportCompressedSize: false,
      //   关闭生成map文件 可以达到缩小打包体积
      sourcemap: false, // 这个生产环境一定要关闭,不然打包的产物会很大
      assetsDir: "static/assets",
      rollupOptions: {
        //不对文件名使用 hash
        output: {
          entryFileNames: `static/js/[name]-[hash].js`,
          chunkFileNames: `static/js/[name]-[hash].js`,
          assetFileNames: `static/[ext]/[name]-[hash].[ext]`,
          dir: "dist",
        },
      },
    },
    // css 分辨率适配
    css: {
      postcss: {
        plugins: [
          px2rem({
            //配置rem基准值 基准大小 baseSize
            remUnit: 150, // 设计稿尺寸1920/10
          }),
        ],
      },
    },
    resolve: {
      alias: {
        "@": pathResolve("./src"),
      },
    },
    server: {
      port: 9050,
      // host: true,
      open: true,
      host: "0.0.0.0", // 必须,让服务监听所有网络接口,平板才能访问
      https: true, // 启用 HTTPS
      proxy: {
        "/auth": {
          target: "http://192.168.10.37:9702",
          changeOrigin: true,
          secure: false,
          // rewrite: (path) => path.replace(/^\/api/, ""),
        },
        "/system": {
          target: "http://192.168.10.37:9702",
          changeOrigin: true,
          secure: false,
        },
        "/qms": {
          target: "http://192.168.10.37:9702",
          changeOrigin: true,
          secure: false,
        },
        "/mes": {
          target: "http://192.168.10.37:9702",
          changeOrigin: true,
          secure: false,
        },
      },
    },
    chainWebpack(config) {
      config.module
        .rule("css")
        .test(/\.css$/)
        .oneOf("vue")
        .use("px2rem-loader")
        .loader("px2rem-loader")
        .options({
          remUnit: 192,
          remPrecision: 8,
        })
        .end();
    },
  };
});
bash 复制代码
配置    
https: true, // 启用 HTTPS
      proxy: {
        "/auth": {
          target: "http://192.168.10.37:9702",
          changeOrigin: true,
          secure: false,
          // rewrite: (path) => path.replace(/^\/api/, ""),
        },
        "/system": {
          target: "http://192.168.10.37:9702",
          changeOrigin: true,
          secure: false,
        },
},可以多配置几个路径代理

不过要在配置开发路径的地方设置

js 复制代码
// 外部配置项
window._APP_CONFIG_ = {
  backConfig: "", // 开发环境:
  customConfig: "http://192.168.10.000:9000", // (生产环境)
};
相关推荐
BreezeJiang1 小时前
从一棵树到一亿人:算法世界的"深搜"哲学
javascript
廖磊AI编程1 小时前
AI 编程项目缺少 Bun 时,如何用 BVM 安装和验证运行时
javascript
触底反弹1 小时前
🎨 通义万相实战:用 Qwen 多模态 API 实现 AI 换装换姿势,10 行代码搞定!
vue.js·人工智能
#麻辣小龙虾#2 小时前
vue3基于leaflet.js实现地图编辑功能
javascript·ecmascript·leaflet.js
AHRIKNOW2 小时前
写一个 Fetch 封装库,没那么简单
javascript
渣波2 小时前
手把手教你写出优雅的 API 接口调用
前端·javascript
spmcor2 小时前
JavaScript 日期限制的“三个月陷阱”:从边界溢出到稳健实现
javascript
半个落月2 小时前
Ajax 异步编程全攻略:从 XHR 到 async/await
javascript
零瓶水Herwt2 小时前
代替vue-currency-input使用原生货币符号
前端·vue.js