上节文章中,我们从零开始搭建起vue3+vite项目,本篇主要介绍vite的配置
当使用 Vite 构建项目后,需要通过局域网中的电脑或手机访问服务调试时,发现通过 IP + 端口无法访问,
正常启动项目会出现以下的情况
yarn dev
Network: use --host to expose
这是由于尝试访问后,发现找不到这个服务,原因是 没有将服务暴露在网络中。
通过查询文档后,有三种方法可以解决此问题
- 修改 vite.config.js 配置
在根目录下的 vite.config.js 文件中添加以下内容
import vue from '@vitejs/plugin-vue'/*** https://vitejs.dev/config/* @type {import('vite').UserConfig}*/export default {plugins: [vue()],server: {host: '0.0.0.0' // ← 新增内容 ←}}
- 通过 Vite CLI 配置
执行 npx vite —host 0.0.0.0 命令后,就可以通过 http://10.56.116.128:3000/ 访问了。
- 修改 npm 脚本
修改 package.json 文件中 scripts 节点下的脚本,如下:
"scripts": {"dev": "vite --host 0.0.0.0","build": "vite build","serve": "vite preview --host 0.0.0.0"}
vite.config.js基本配置
当以命令行方式运行 vite 时,Vite 会自动解析 项目根目录 下名为 vite.config.js 的文件
// defineConfig 工具函数import { defineConfig } from 'vite';import vue from '@vitejs/plugin-vue';// 主要用于alias文件路径别名import { resolve } from "path";function pathResolve(dir) {return resolve(__dirname, ".", dir);}export default defineConfig({// 这里是将src目录配置别名为 /@ 方便在项目中导入src目录下的文件resolve: {alias: {"@": pathResolve("src"),}},// 打包配置build: {target: 'modules',outDir: 'dist', //指定输出路径assetsDir: 'assets', // 指定生成静态资源的存放路径minify: 'terser' // 混淆器,terser构建后文件体积更小},// 本地运行配置,及反向代理配置server: {cors: true, // 默认启用并允许任何源open: true, // 在服务器启动时自动在浏览器中打开应用程序port: 8080,//反向代理配置,注意rewrite写法,开始没看文档在这里踩了坑// proxy: {// '/api': {// target: 'http://192.168.99.223:3000', //代理接口// changeOrigin: true,// rewrite: (path) => path.replace(/^\/api/, '')// }// }}})
