美文网首页初见
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