zoukankan      html  css  js  c++  java
  • vue HTML5 History 模式 node服务器端的配置

    1.  新建server-proxy.js文件(dev和pro公用的proxy转发文件)

    var proxy = {
      local:"http://localhost:9999",//mock环境
    }
    var config = {
      dev: {
          historyApiFallback: true,
          stats: { colors: true },
          hot: true,
          inline: true,
          progress: true,
          disableHostCheck:true,
          //contentBase:"./app/index",
          proxy: {
              '/api/mock': {
                target: proxy.local, //pathRewrite: {'^/column' : '/column'},                
                  secure: false,
                  changeOrigin: true
              }
          }
      },
      portPro: '10086' 
    
    }
    module.exports = config;

    2.  新建 server-after-package.js ,打包后在当前目录就可以启动history模式,并做了proxy的转发。

    console.time('start server-after-package need time')
    const http = require('http')
    const fs = require('fs')
    var proxyhttp = require('express-http-proxy')
    var express = require('express')
    var app = express()
    var proxy = require('./server-proxy')
    app.set('roots', __dirname+'/dist')
    app.use('/', express.static(app.get('roots')))
    app.engine('html', require('ejs').renderFile)
    for (var i in proxy.dev.proxy) {
        if (proxy.dev.proxy.hasOwnProperty(i)) {
            console.log(i, proxy.dev.proxy[i].target)
            app.use(i + '/*', proxyhttp(proxy.dev.proxy[i].target, {
                proxyReqPathResolver: function (req, res) {
                    console.log(req.originalUrl)
                    return req.originalUrl
                }
            }))
        }
    }
    app.use('*', function (req, res, next) {
      fs.readFile(app.get('roots')+'/index.html', 'utf-8', (err, content) => {
        if (err) {
          console.log('We cannot open "index.htm" file.')
        }
        res.writeHead(200, {
          'Content-Type': 'text/html; charset=utf-8'
        })
        res.end(content)
      })
    });
    var server = app.listen(proxy.portPro, function () {
        var host = server.address().address
        var port = server.address().port
        console.log('app listening at ' + require("os").hostname() + ' http://localhost:' + port)
        console.timeEnd('start server-after-package need time')
    })

     问题:

    报错:“Uncaught SyntaxError: Unexpected token <” 时,首先查看路径设置是否正确(主要时script指向的src是否正确,是否能访问)

  • 相关阅读:
    第一周例行报告psp
    作业要求 2018091-2 博客作业
    20181011-1第一周例行报告
    20180912-2第一周博客作业
    Elasticsearch
    centos7 安装Hadoop-2.6.0-cdh5.16.1.tar.gz
    centos7安装hadoop2.7.7
    centos7安装jdk8
    专业知识4
    专业知识3
  • 原文地址:https://www.cnblogs.com/wtaog/p/9183702.html
Copyright © 2011-2022 走看看