VUE打包发布(含http-serve、Nginx服务器的部署使用)

VUE项目编写完后,怎么打包,这个不像JAVA一样直接导出jar包之类的。项目完成后保存,进入改项目路径,比如:C:\Users\MyVue

按照步骤:

第一步:事先准备环境

先给安装webpack和serve

cmd打开窗口

npm install webpack -g // 全局安装,下次项目就不用再执行这步了
或者

npm install webpack --save-dev // 项目内安装

或者

npm add webpack@latest

如果你没有装这个,num run build 你就会报错:Class extends value undefined is not a constructor or null

然后全局安装(最终要放的服务器也要有这个):

C:\Users\MyVue> npm install -g serve

成功提示:

+ serve@11.3.2
added 78 packages from 39 contributors in 17.701s

如果不装就不能serve dist 最后发布

第二步:就是打包编译:build

进入项目种进行:

C:\Users\MyVue> npm run build

打包成功后都会有提示的,然后查看,项目上会多处dist,打开它知道里面页有index.html

 

我们发布只需要dist文件夹就行,其他的都属于原生源码的项目,不对外。

第三步:运行serve

就是发布了,只能本地运行

C:\Users\MyVue> serve dist

发布到服务器

问题来了,现在我们就是想把项目放到文件上去,不能是项目,太大,且是源码不能展示。服务器上就不用安装各种依赖、node等,因为都再项目中安装了。

我们npm run build出来的dist就是这个文件夹,拷贝这个就行了,目录结构如上图,但是打开有问题,白茫茫一片,一般都是找不到资源文件。

其一、build出来的dist中的index是不能直接打开的,打开需要部署到服务器,如:http-serve、nginx、apache、Tomcat等服务器,网上都可以下载,我用习惯http-serve、nginx。因为比较简单。

其二、是配置文件出的问题。我们build前需要检查下项目中的vue.config.js,可以module.exports = {}里加上publicPath:: "/MyVue"跟上文件名。然后再build

   

这里把dist文件夹单独拿出来,新建一个文件夹和你publicPath的名称一样就行,或者直接把dist的名称改了。

然后放到服务器中,我这里用http-serve,直接拖进去就行,选择index.html,上面就出现地址,这样就可以区域网内访问了。

官网下载:HFS ~ HTTP File Server

或者

使用业内最常用的nginx工具,相对复杂些,网上下载,我下载的版本,改个名称

第一要确认下载的能不能打开使用?网上有教程,也有修改配置文件,我这里比较简单,无需命令运行。

直接双击nginx.exe,闪了一下,你就打开浏览器,输入http://localhost就行了,然后界面显示有Nginx的内容,代表可以用。

把dist文件夹放到这个位置,因为打开找不到资源文件,我就把dist下的所有文件放到这个根目录,且还保留dist文件,这样以防万一

说明:这个index.html是dist里的,nginx下载的时候也有一个,我改名教40x.html了,被我划掉的都没有用,其他的都是dist的内容。一般正常的试:D:/nginx/html/dist(MyVue)

记得要改配置内容才可以使用,路径再conf/nginx.conf中,用记事本打开就行了。

我就改了两个地方,就是端口号,还有dist放在哪个路径,见上面。

注意:修改配置文件后,记得要先把nginx进程杀掉,重启nginx(双击nginx.exe)。

一切完毕后,打开浏览器输入:http://localhost:8090,出来的页面就是你项目的页面了。

打开经常空白,日志显示:

这个就是资源找不到,网上很多解决方案,看的很懵!总结出几点坑:

1.你的项目文件vue.config.js中添加了? 为何添加,学习地址:https://cli.vuejs.org/zh/config/#目标浏览器

2.你build出来的dist文件内容全不全,然后你有没有命名跟上面publicPath一样?不行你就把dist中的内容放根目录。

3.选择的服务器有没有问题,有没有过去,可以用其他可行的项目测试一下。比如我用的http-serve不明原因挂了,重启都不行。所以才换了nginx服务;

4.如果使用的nginx的服务器,你的配置文件有没有问题?有没有刷新进程?你可以测试下不带项目的时候能不能打开,排除是项目本身的原因。

5.最后一点,可能你使用到的库或插件放的目录不对,build出来的dist识别不到,但是这个不可能影响整个界面,这个原因也不成立,只是你发现某个功能不能用差不多。

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
Vue项目打包之后,可通过使用`http-server`工具来在本地验证是否有问题,这是因为`http-server`会以本地服务器的方式运行项目。然而,当将打包后的代码放到实际的服务器上时,可能会出现`SyntaxError: Unexpected`这样的错误。 这个错误通常表示在代码中存在语法错误。在本地验证时可能没有出现这个错误,是因为本地环境与服务器环境可能存在差异。以下是一些可能导致该错误的原因: 1. 服务器版本问题:打包后的代码可能使用了一些新的语法或特性,而服务器的Node.js版本可能较旧,无法解析这些新特性。可以尝试升级服务器的Node.js版本,或在部署前对代码进行更高版本的转译或编译。 2. 缺少依赖:有时,打包后的代码引用了本地开发环境中安装的依赖项,但在服务器上未安装或者安装的版本不匹配。确保在服务器上正确安装所有的依赖项,并且它们的版本与本地开发环境一致。 3. 文件路径问题:在本地验证时,`http-server`可以正确解析文件路径,但服务器可能对文件路径解析方式有所不同。尝试检查打包后的代码中的文件路径是否与服务器上的文件路径匹配。 解决这个问题的方法包括: 1. 确保服务器的Node.js版本与打包后的代码的要求兼容。 2. 安装服务器上所需的依赖项,并确保它们的版本与本地开发环境一致。 3. 检查打包后的代码中的文件路径是否与服务器上的文件路径匹配。 通过排除以上问题,你应该能够解决`SyntaxError: Unexpected`的问题,并成功部署打包后的Vue应用程序。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

测试狂人

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

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

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

打赏作者

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

抵扣说明:

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

余额充值