开发环境使用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", // (生产环境)
};
相关推荐
mldong4 小时前
你的 Vue3 项目也能有钉钉同款审批流设计器:npm 装包,10 分钟画出第一条审批流
前端·vue.js
passerby60615 小时前
如何自己造一个时间处理库
前端·javascript·github
小羊没烦恼!6 小时前
Hello Web API系列教程——Web API与国际化
java·服务器·前端·javascript·php
mayaairi8 小时前
Vue2 组件通讯(三):全局事件总线、PubSub、插槽与组件实例属性
前端·javascript·vue.js
kyriewen9 小时前
面试官问我:AI 都能写代码了,前端凭什么还值 25K
前端·javascript·人工智能
BillKu10 小时前
全局样式变量:CSS 自定义属性(--border-color)和SCSS 变量($border-color)的说明
javascript·css·scss
默_笙11 小时前
❗ 给金鱼装记忆(上):从白板到笔记本,AI 的短期记忆生存指南
前端·javascript
兜里只有三分钱~11 小时前
翻卡_3D 的仪式感,和三个让它穿帮的写法
javascript·css·3d
mayaairi11 小时前
Vue2 组件通讯(四):v-model、scoped样式、mixins与plugins
前端·javascript·vue.js
前端炒粉12 小时前
DOM 常用 API 速查表
开发语言·javascript·ecmascript