Vue 项目的成功发布和部署

最近一直在尝试对 Vue 项目进行打包和发布,发现通过 npm run build 打包生成的 dist 文件不能直接放到服务器下面进行部署,否则会出现以下问题:

究其原因是,无法正确找到相关 js 文件的路径 。网上查找了很多的解决方案,大多建议修改路由模式(mode:' history ')和发布的文件路径(publicPath:' ./ '),但由于脚手架版本的原因,一直找不到相应的配置文件,这里使用的是最新版本的 VueCLI 5 创建的项目,官方简化了许多文件的配置信息(隐藏起来了)。经过多次尝试,最终实现了 Vue 项目在本地服务器 Tomcat 下的部署!

方法一:

1、修改配置信息:router/index.js 文件和 vue.config.js 文件

router/index.js

const router = new Router({
  mode:'history',//修改路由模式为 history
  routes:routes
})

vue.config.js

const { defineConfig } = require('@vue/cli-service')
module.exports = defineConfig({
  transpileDependencies: true,
  publicPath:'./' //添加配置信息
})

打包运行 

npm run build

最终生成的文件目录为:

 

将整个 dist 文件夹放到 Tomcat 目录下的 webapps 目录下

 启动 Tomcat 服务,打开文件目录或者输入网址  http://localhost:8080/dist/

运行成功。

方法二:

 修改配置文件 vue.config.js 直接添加如下代码

module.exports = {
  publicPath:"/supermall/",
  outputDir: "dist", 
}

然后修改路由配置 router/index.js 添加以下信息:

const router = new Router({
  mode: 'history',
  base:"/supermall/",
  routes: routes
})

打包运行: npm run build,将生成的d ist 文件夹重命名为 supermall 放到 webappp 下访问即可!

补充:

如果有小伙伴使用 vue-cli 3.x 以下版本创建 vue 项目,则文件目录下不会有 vue.config.js 文件,老版本的文件目录下可以通过以下配置实现 vue 项目在 tomcat 服务器下的部署:

1.找到 config 文件夹下的 index.js 文件,修改 assetsPublicPath:'/目标文件夹名称/'

 2.配置路由信息 router/index.js,主要添加以下信息,base:'/目标文件夹名称/'

打包运行: npm run build

将生产的 dist 文件夹修改名称为 ‘目标文件夹名称’ 放到 tomcat 的 webapp文件目录下即可访问:

  • 5
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 要在Nginx上部署Vue项目,你需要按照以下步骤进行操作: 1. 在Vue项目中执行`npm run build`命令,将Vue项目编译为静态文件。 2. 将编译好的静态文件复制到Nginx的web目录下。例如,将所有文件复制到`/var/www/vue-app/`目录下。 3. 配置Nginx的虚拟主机,使其指向Vue应用的入口页面。在Nginx的`/etc/nginx/sites-available/`目录下创建一个新的配置文件,例如`vue-app`,并添加以下内容: ``` server { listen 80; server_name your-domain.com; root /var/www/vue-app/dist; index index.html; location / { try_files $uri $uri/ /index.html; } } ``` 在上面的配置中,`server_name`应该被设置为你的域名。`root`应该指向Vue项目编译后的`dist`目录。`location`指令用来处理所有的URL请求,如果请求的资源不存在,则返回Vue应用的入口页面。 4. 启用Nginx的虚拟主机。在Nginx的`/etc/nginx/sites-enabled/`目录下创建一个符号链接,指向刚才创建的虚拟主机配置文件: ``` sudo ln -s /etc/nginx/sites-available/vue-app /etc/nginx/sites-enabled/ ``` 5. 重新启动Nginx服务: ``` sudo service nginx restart ``` 现在你的Vue应用已经部署到了Nginx上,可以通过你的域名进行访问了。 ### 回答2: 要将Vue项目部署到nginx上,需要遵循以下步骤: 1. 确保服务器上已经安装了nginx。如果没有安装,可以通过命令行运行`sudo apt-get install nginx`(适用于Ubuntu)或其他适用于你的操作系统的安装命令进行安装。 2. 在nginx配置文件中创建一个新的server块,可以在`/etc/nginx/nginx.conf`中找到配置文件。也可以在`/etc/nginx/sites-available/`目录下创建一个新的配置文件。一个基本的配置文件示例如下: ```nginx server { listen 80; server_name your_domain; location / { root /path/to/dist; # Vue项目build后的目录 index index.html; try_files $uri $uri/ /index.html; } } ``` 其中,`server_name`是你的域名,需要将其替换成你的实际域名;`root`是Vue项目build后的目录路径,需要将其替换成你项目的实际路径。 3. 保存配置文件后,重新启动nginx服务,可以通过命令行运行`sudo service nginx restart`。重启后,nginx就会开始监听配置文件中指定的端口并提供服务。 4. 如果你使用的是域名而非IP地址,则需要在DNS解析中将域名解析到服务器的IP地址上。 5. 最后,可以通过浏览器访问你的Vue项目,使用域名或IP地址即可。 以上就是将Vue项目部署到nginx的步骤,在完成这些步骤后,你就可以通过nginx提供的服务来访问你的Vue项目了。 ### 回答3: Nginx是一种高性能的Web服务器,也可以用作反向代理服务器和负载均衡服务器。对于部署Vue项目,Nginx可以用于将前端打包生成的静态文件发布到云服务器或者Linux服务器上。 首先,确保已经安装了Nginx并且已经成功启动。 一般来说,Vue项目前端代码会通过Webpack等打包工具生成静态文件,这些文件会被放置在`dist`文件夹下。 在Nginx的配置文件中,找到`server`块,并在其中添加以下配置: ``` server { listen 80; server_name your_domain; location / { root /path/to/your/dist; index index.html; try_files $uri $uri/ /index.html; } } ``` 在这个配置中,`listen`指定了Nginx监听的端口号,`server_name`是您的域名或IP地址。`location`部分指定了Nginx的访问路径和相应的处理逻辑。`root`指定了项目的静态文件路径,`index`指定了默认的访问页面。`try_files`用于处理路由,确保在访问不同路径时能够正确渲染对应的页面。 保存配置文件并重启Nginx服务,命令如下: ``` sudo systemctl restart nginx ``` 重启后,Nginx就会将Vue项目的静态文件作为网站的根目录,并通过相应的地址访问项目。 这就是使用Nginx部署Vue项目的简单步骤。当然,您可能还需要进行一些其他的配置,例如添加HTTPS支持和配置代理等,根据实际需求进行相应的调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值