提示:学习时出现的问题以及解决的办法

1. 出现的问题

项目完成后打包,打开 index.html ,无内容,出现404报错。
在这里插入图片描述
请添加图片描述

2. 分析

默认打包,index.html 引入其他打包的文件使用的是绝对地址,地址是以 / 开头(要找到当前index.html打开时所在服务器的根地址(文件夹)),就得确保你的 vscode+liserver 插件打开时,vscode 根目录得直接是 dist 文件夹,你如果把dist文件夹交给后台运维工程师部署到服务器上,dist下内容就得在服务器根目录才行,但是服务器一般会有多个项目,不让你用根目录直接放一个项目。
请添加图片描述

3. 解决

webpack 让你写一个配置项 publicPath(控制index.html引入其他资源前缀地址),vue.config.js(脚手架配置文件,webpack配置文件),publicPath:默认值‘/’确保开发环境下,是这个值,因为开发服务器会把所有资源打包在内存里而且作为服务器的根目录文件夹,生产环境准备上线了,这个时候,就得用相对地址,publicPath: ’ ./ ',路径不以 / 开头其实就是 ./ 开头(默认的)
请添加图片描述

4. 重新打包运行

请添加图片描述

在这里插入图片描述

5. 扩展知识

./ 可以让开发环境和生产环境都可以正常使用,为了严谨一些还是要换回来
开发环境: ’ / ’
生产环境: './ ’

这时,我们就有一个想法:有没有一种办法能识别在不同环境用不同的呢?
解决:
node 里有个内置的环境变量 process.env.NODE_ENV
process.env.NODE_ENV 它会根据你敲击的命令,来使用不同的值解决:
如果你敲击 npm run server,process.env.NODE_ENV 的值就是 ‘development’ 字符串
如果你敲击 npm run build, process.env.NODE_ENV 的值就是 ‘production’ 字符串
在这里插入图片描述

GitHub 加速计划 / vu / vue
207.54 K
33.66 K
下载
vuejs/vue: 是一个用于构建用户界面的 JavaScript 框架,具有简洁的语法和丰富的组件库,可以用于开发单页面应用程序和多页面应用程序。
最近提交(Master分支:2 个月前 )
73486cb5 * chore: fix link broken Signed-off-by: snoppy <michaleli@foxmail.com> * Update packages/template-compiler/README.md [skip ci] --------- Signed-off-by: snoppy <michaleli@foxmail.com> Co-authored-by: Eduardo San Martin Morote <posva@users.noreply.github.com> 4 个月前
e428d891 Updated Browser Compatibility reference. The previous currently returns HTTP 404. 5 个月前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐