zoukankan      html  css  js  c++  java
  • node.js--express学习之路(三)

    前面做的,我是后端跟前端结合在一起的。只不过是在vue-cli搭建的项目中新增一个server文件用来编写后台代码

    如果我是需要发布应该怎么弄呢?

    以前都是直接npm run build打包个list文件,直接放上服务器就可以了,现在自己做后台,是不是就要自己搭建服务器配置了。

    于是我就把本地当做是服务器,那么既然后台使用node写的,那应该就是配个node环境就好了吧。本身我机子上面就全局安装了node,这个就不多说了。由于我用的是express,所以其实最终问题就是将生成的dist文件部署到express服务器上运行

    于是就有了下面的做法:

    1、安装express-generator生成器

    npm install express-generator -g

    2、创建一个express项目

    express expressName    //expressName是项目名

    3、进入项目,安装相关项目依赖

    cd expressName
    npm install

    4、此时生成的项目目录应该是这样的:

    没有db.js的,这个是我自己后面加上去的

    5、将dist文件夹下的所有文件复制到express项目的publick文件夹下面,然后运行npm start来启动express项目

    6、打开浏览器,输入localhost:3000就可以看到效果了

    好吧,的确可以看到,我都觉得一切是如此的顺利,结果当我切换页面的时候,居然就404了,突然灵机一动,想到了之前跟后台配合的时候,说到我们的路由模式是用的history模式,需要后台配置什么,是不是我这里也需要配置什么呢

    然后打开vue router官网,看了一下怎么配置:https://router.vuejs.org/zh/guide/essentials/history-mode.html#%E5%90%8E%E7%AB%AF%E9%85%8D%E7%BD%AE%E4%BE%8B%E5%AD%90

     这里还确实有这样一句说明,于是就打开了:https://github.com/bripkens/connect-history-api-fallback

    安装这个中间件:

    npm install --save connect-history-api-fallback

    然后导入:

    var history = require('connect-history-api-fallback');
    
    var express = require('express');
    
    var app = express();
    app.use(history());

    在express项目中有个app.js文件,里面有这么一段需要注释掉

    // app.use('/', indexRouter);
    app.use('/user', usersRouter);

    我看了一下里面的写法,又被渲染回首页了

    /* GET home page. */
    router.get('/', function(req, res, next) {
      res.render('index', { title: 'Express' });
    });

    操作完这一切之后,重新运行了一下,发现居然真的可以了,就在我以为一切都是如此完美的时候,刷新了一下页面,页面内容没了,取而代之的是一段打包之后的html代码。。。

    百度了一圈,看到有说到时因为前端vue.config.js中配置的问题:

    publicPath:"./"

    把那一点去掉之后,在重新运行一下,这下终于真的好了。

    到此总算告一段落,虽然遇到很多坑,不过还是解决了过来,感觉挺好。

  • 相关阅读:
    BZOJ.4842.[NEERC2016]Delight for a Cat(费用流)
    LOJ.6060.[2017山东一轮集训Day1/SDWC2018Day1]Set(线性基)
    BZOJ.5319.[JSOI2018]军训列队(主席树)
    BZOJ.4212.神牛的养成计划(Trie 可持久化Trie)
    HDU.5385.The path(构造)
    HDU.4903.The only survival(组合 计数)
    Codeforces.1043F.Make It One(DP 容斥)
    BZOJ.5110.[CodePlus2017]Yazid 的新生舞会(线段树/树状数组/分治)
    洛谷.3676.小清新数据结构题(树链剖分 树状数组)
    BZOJ.4598.[SDOI2016]模式字符串(点分治 Hash)
  • 原文地址:https://www.cnblogs.com/chao202426/p/11981096.html
Copyright © 2011-2022 走看看