美文网首页初见
Vue 项目打包部署Nginx

Vue 项目打包部署Nginx

作者: 欢乐的乐 | 来源:发表于2020-03-07 13:44 被阅读0次

Vue 项目的配置

在打包之前,先确定项目中 vue-router 的路由模式,文中的例子是基于 history 模式进行的配置打包和部署。

vue.config.js

vue.config.js 下的配置:

// vue.config.js
module.exports = {
  devServer: {
    port: 8081
  },
  publicPath: '/',
  assetsDir: 'static'
}

publicPath:部署应用包时的基本 URL。

默认情况下,Vue CLI 会假设你的应用是被部署在一个域名的根路径上,例如 https://www.my-app.com/。如果应用被部署在一个子路径上,你就需要用这个选项指定这个子路径。例如,如果你的应用被部署在 https://www.my-app.com/my-app/,则设置 publicPath 为 /my-app/。

assetsDir:放置生成的静态资源 (js、css、img、fonts) 的 (相对于 outputDir 的) 目录。

因为还不知道Nginx怎么配置子目录页,这里 publicPath 设置为 /

router.js

new VueRouter({
  mode: 'history',
  routes
})

Vue-cil3 打包命令

到这里项目中的配置就完成了,打包项目。

npm run build

打包完,会看到项目文件夹中多了一个目录 dist

进去可以看到有三个东西:

  • static
  • favicon.ico
  • index.html

直接双击 index.html 打开浏览器,页面是空白了,啥都没有。如果想根据路由打开指定页面,就需要部署到服务器了。

Nginx 部署

在 Vue Router 官网中就有 Nginx 配置的教程。 HTML5 History 模式

官网中有这么一段代码,接下来的配置会用到。

location / {
  try_files $uri $uri/ /index.html;
}

正式开始

  1. 随便找个地方存放打包后的代码。例如:/Users/xxx/Documents/project/vue
  2. 创建一个 hello 文件夹。
  3. 把刚才 dist 文件夹里面的东西拷贝过来。
  4. 命令行进入 nginx 的目录,我这里是 /usr/local/etc/nginx
  5. 里面有一个配置文件 nginx.conf,执行:vim nginx.conf
  6. 在合适的位置添加以下内容。
server {
        listen 8081;
        location / {
            root /Users/xxx/Documents/project/vue/hello;
            index index.html;
            try_files $uri $uri/ /index.html;
        }
    }

其中 root 就是你存放打包后代码的位置。

  1. 执行命令 nginx 启动服务器。
  2. 输入 http://localhost:8081,就能访问你的根目录啦!!

如果想部署Tomcat,可以看看这篇文章。Vue项目打包部署Tomcat

相关文章

网友评论

    本文标题:Vue 项目打包部署Nginx

    本文链接:https://www.haomeiwen.com/subject/sthcdhtx.html