node.js部署vue代码

技术:node.js + express框架

前言

vue代码打包后生成dist文件,直接打开里面的index.html,页面是无法正常展示的

所以需要用服务器部署它们,跟着我一起用node.js快速部署吧! 

 注:vue打包命令 npm run build

一、快速搭建小型服务器

1、用npm管理项目

  •         新建demo文件夹
  •         终端输入命令 npm init
  •         取项目名 

  • 然后一路回车到底

2、安装express

npm i express

3、目录里新建服务器的主文件 server.js,写入如下代码

// 引入express
const express = require('express')

// 调用express,创建一个app 服务实例对象
const app = express()

// 配置后端路由
app.get('/person', (req, res) => {
    console.log('访问到了')
    //  给客户端返回东西
    res.send({
        name: 'lily',
        age:18
    })
 })

// 设置端口监听
app.listen(5000, (err) => {
    if (!err) console.log('服务器启动成功了!')
    err && console.log(err)
    
})

一个微型的服务器就搭建起来了

4、启动服务器

node server

5、访问服务器信息

能正常访问就代表服务器配置成功了,注意配置路由的时候,要加‘/’

二、部署前端静态资源

1、根目录下新建一个文件(一般命名为static或public),把vue打包后的dist目录里的html、css、js文件放进去

2、server.js中指定静态资源位置

app.use(express.static(__dirname+'/static'))

// 引入express
const express = require('express')

// 调用express,创建一个app 服务实例对象
const app = express()

// 指定静态资源
app.use(express.static(__dirname+'/static'))


// 配置后端路由
app.get('/person', (req, res) => {
    console.log('访问到了')
    //  给客户端返回东西
    res.send({
        name: 'lily',
        age:18
    })
 })

// 设置端口监听
app.listen(5000, (err) => {
    if (!err) console.log('服务器启动成功了!')
    err && console.log(err)
    
})

3、访问静态资源

点击跳转其它页面,也能正常访问

这样,一个vue写的项目就部署到服务器上了

如果你设置的路由器的工作模式是hash模式,那么到这一步就完结了!!

但是,如果你设置的路由器工作模式是history模式,跳转到其他页面,刷新后就会报错

三、解决路由为history模式的报错

1、问题

通过主页点击跳转到其他页面时,可以正常显示

刷新该页面,就会报 404

2、原因

  • 点击跳转时,不会发送网络请求,前端路由器带动页面、url变化
  • 但刷新时,会发送网络请求。 把后面的路径当成资源,去请求服务器,而服务器下没有 /home/news 这个资源,所以就报错了
  • hash模式时,不会把#/及后面的路径当成资源,去请求服务器

3、解决

1、安装 connect-history-api-fallback

npm i connect-history-api-fallback

2、使用connect-history-api-fallback

// 引入express
const express = require('express')
// 引入connect-history-api-fallback
const history = require('connect-history-api-fallback');

// 调用express,创建一个app 服务实例对象
const app = express()

// 注意:必须写在指定静态资源前
app.use(history())

// 指定静态资源
app.use(express.static(__dirname+'/static'))


// 配置后端路由
app.get('/person', (req, res) => {
    console.log('访问到了')
    //  给客户端返回东西
    res.send({
        name: 'lily',
        age:18
    })
 })

// 设置端口监听
app.listen(5000, (err) => {
    if (!err) console.log('服务器启动成功了!')
    err && console.log(err)
    
})

其他解决方法:后端写正则匹配、nginx...

完结,撒花!

部署一个Node.jsVue.js的前后端项目,你需要按照以下步骤进行操作: 1. 首先,在购买完服务器后,使用secureCRT等工具与服务器建立连接。 2. 进行Node.js的配置。你可以通过下载Node.js的源码,并解压到指定位置。可以从Node.js的官网获取压缩档源代码,选择你需要的版本。例如,你可以使用以下命令来下载和解压Node.js源码: ``` wget https://nodejs.org/dist/v16.7.0/node-v16.7.0-linux-x64.tar.gz tar -zxvf node-v16.7.0-linux-x64.tar.gz mv node-v16.7.0-linux-x64 node ``` 确保你已经成功安装了Node.js,可以使用以下命令来验证安装: ``` cd node/bin && ls ./node -v ``` 如果能够正确显示Node.js的版本号,则表示你已成功安装Node.js。 3. 全局配置。在配置Node.js之后,你还需要进行一些全局配置。例如,你可以安装淘宝镜像cnpm,这样可以加快包的下载速度。 4. 安装和配置MongoDB。如果你的项目需要使用MongoDB数据库,你还需要安装和配置MongoDB。你可以根据需求选择适合你的版本和安装方式。 5. 上传Node.js服务器项目。将你的Node.js项目上传到服务器上,确保项目的目录结构和依赖项都正确。 6. 部署Vue.js项目。同样,将你的Vue.js项目部署服务器上。可以使用相关工具将Vue.js项目打包成静态文件,并将这些文件部署服务器上。 7. 配置Nginx代理。为了使Node.jsVue.js项目能够正常运行,你需要配置Nginx代理。通过配置Nginx,可以将客户端的请求转发到Node.jsVue.js的相应端口上。 以上是部署Node.jsVue.js前后端项目的一般步骤。具体的配置和部署方式可能会因具体的项目需求而略有不同。请根据你的项目情况进行相应的调整和配置。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值