美文网首页工作生活
Vue+Node.js部署到Heroku

Vue+Node.js部署到Heroku

作者: StansJ | 来源:发表于2019-07-02 22:27 被阅读0次

    简介

    使用Heroku的免费云服务来部署Express服务器,数据库使用的是MongoDB云数据库。由于国内访问这两个网站的速度可能较慢,所以最好备有梯子。

    一、前后端结合

    1、Vue项目打包

    使用npm run build来打包我们已经写好的Vue项目。将打包完成后的dist文件夹复制到Express项目中。

    注意:由于后端的端口会发生改变,所以api地址也会发生改变。所以前端的api请求地址也要做出相应的修改,不然部署后将无法请求到数据。

    由于不知道端口将会变成多少,我的方法是将api地址的前段设置为部署后的网址,即https://yourHerokuAppName.herokuapp.com/api

    2、Express后端设置

    (1)设置服务器端口号

    由于Heroku的端口号是自行配置的,所以我们要将服务器端口号设置为;

    const port = process.env.PORT || 3000;
    app.listen(port, () => {
      console.log(`http://localhost:${port}`);
    });
    

    (2)设置静态文件路径

    var fs = require('fs');
    var path = require('path');
    app.use(express.static(path.resolve(__dirname, './dist')));
    

    (3)将路由指向index.html

    app.get('*', function(req, res) {
      res.sendFile(path.resolve(__dirname, './dist/index.html'));
    });
    

    (4)创建Procfile文件

    在项目的根目录中新建名为Procfile的文件,并写入

    web: node index.js
    

    Procfile 文件用来声明应用如何在服务器中运行,这里通过 node index.js 执行 Node 脚本。其中,index.js为服务器的起始文件。

    3、文件上传Github

    将前后端结合好后的文件上传到github仓库中。

    二、部署到Heroku

    首先注册一个Heroku账号(163,yeah,qq邮箱被禁用);注册完成后登录Heroku并创建一个app;由于连接Heroku的网速较慢,所以使用Github的部署方式,在Github授权之后,选择要部署的文件仓库及分支;最后点击部署按钮,等待部署完成后就可以查看网站了。

    部署参考文章:三步将Node应用部署到Heroku上

    相关文章

      网友评论

        本文标题:Vue+Node.js部署到Heroku

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