vite打包部署问题总结

目录

Vue3 vite:is a JavaScript file. Did you mean to enable the 'allowJs' option?

使用vscode搭建 vue3 + vite 项目, 部署到服务器 js css文件路径访问不到的问题


Vue3 vite:is a JavaScript file. Did you mean to enable the 'allowJs' option?

vue3+vite 下运行 npm run build 打包时,出错:

is a JavaScript file. Did you mean to enable the 'allowJs' option?

打开 package.json 文件:

 "scripts": {
    "dev": "vite",
    "build": "run-p type-check build-only",
    "preview": "vite preview",
    "build-only": "vite build", # 查看这个命令
    "type-check": "vue-tsc --noEmit"
  },
npm run build
# 换成一下命令
npm run build-only

使用vscode搭建 vue3 + vite 项目, 部署到服务器 js css文件路径访问不到的问题

使用vscode搭建vue3 + vite项目,本地没有问题,build后部署到服务器, 默认访问的是域名下的js css文件,导致 相对路径无法访问到。

在vite.config.js中添加  :base: "./"  后就可以了。

原因:默认的是  "/",   而我部署的路径是 : /其他路径/项目名/dist/  ,所以 把base 改为 ./ 后就可以正常访问了。

 

### 解决 Vite 打包部署后遇到的 404 错误 当使用 `createWebHistory` 部署 Vue 应用时,可能会遇到刷新页面时报错的情况。这是因为服务器无法识别前端路由所请求的 URL,从而返回 404 页面[^3]。 #### 使用 Hash 模式的解决方案 一种简单的解决方法是将路由模式更改为哈希模式 (`createWebHashHistory`)。这种方式会在 URL 中加入 `#` 符号来区分前后端路由: ```javascript import { createRouter, createWebHashHistory } from 'vue-router' const router = createRouter({ history: createWebHashHistory(), routes: [...], }) ``` 这种方法可以避免 404 的发生,但是会改变 URL 形式,可能不符合某些项目的美观需求。 #### 修改服务器配置 对于希望保持 HTML5 History API (即无 `#` 号) 路径风格的应用来说,则需调整 Web 服务器设置以支持单页应用(SPA),确保所有未知路径都指向 index.html 文件。具体做法取决于使用的服务器软件: - **Nginx**: 添加如下配置片段至站点配置文件内: ```nginx location / { try_files $uri $uri/ /index.html; } ``` - **Apache**: 同样地,在 `.htaccess` 或者 Apache 主配置里增加重定向指令: ```apacheconf RewriteEngine On RewriteBase / RewriteRule ^index\.html$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.html [L] ``` 通过上述更改可以让任何未匹配到实际资源的请求都被导向入口文件,进而让前端框架接管并处理这些地址。 另外需要注意环境变量的问题。`.env.development` 文件中的配置仅适用于开发阶段;一旦进入生产环节,应该依赖于 `.env.production` 来定义必要的参数,以免因路径差异引发错误[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

前端 贾公子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值