如何在Noje.js服务器(快速)上部署我的VueCLI应用程序?

时间:2019-06-14 12:02:39

标签: node.js vue.js vue-cli vue-cli-3

我已经用VueCLI构建了项目网站,所以现在我想将我的应用程序部署在服务器Node.js上。 问题是 : -当我运行命令build来获取dist文件夹并将其放入我的nodejs服务器时,我无法使用vue路由器,因为例如:http://server.com/page1它向服务器发出请求,但我只想访问带有vue路由器的应用中的页面。

“这是使用vue路由器的单页网站”

我的node.js服务器示例:

const express = require('express');
const path = require('path');
const app = express();


app.use('/static', express.static(path.join(__dirname, '/dist')))

app.get('/',(req,res)=>{
res.sendFile(__dirname+'/static/index.html')
})

app.listen('3000',()=>{
console.log("listen on port 3000");    
})

/site.com
/site.com/dist
/site.com/dist/css
/site.com/dist/js
/site.com/dist/index.html
/site.com/index.js //server nodejs

我希望能够访问我的vue路由器网站的内部页面。 目前,当我在网址中询问网页时,它会询问服务器。

2 个答案:

答案 0 :(得分:0)

这是一个项目组织问题。我建议您在应用程序外部生成dist。并拥有

app.use('/static', express.static(path.join(__dirname, '/static')))

指向dist而不是静态

app.use('/static', express.static(path.join(__dirname, '/path/to/dist')))

答案 1 :(得分:0)

  • 因此,显然要解决我的问题,我必须安装并配置一个 来自github的中间件调用“ connect-history-api-fallback” 'https://github.com/bripkens/connect-history-api-fallback'。这个API 仅适用于在Node.js上运行并使用express的服务器(这是我的 情况)。

希望这对您有帮助=)