上节文章中,我们从零开始搭建起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/, '')
// }
// }
}
})