如何将一个vuejs项目部署到heroku

我正在这个项目在本地https://github.com/misterGF/CoPilot工作,但现在,它已经完成,我想推它到heroku。 问题是告诉heroku启动应用程序。

在heroku示例中,演示服务器在从Procfile包含此数据的信息后运行

 web: node index.js 

但在我的vuejs项目中,没有index.js服务器的内容。

我只有主要的入口点是index.html和procfile不适用于HTML。

您需要更新您的package.json文件以让heroku了解这些软件包,例如,如果您使用express来提供文件:

 "scripts": { "postinstall": "npm install express" } // "start": "node server.js" (executing server.js) during start 

server.js

 var express = require('express') var path = require('path') var serveStatic = require('serve-static') var app = express() app.use(serveStatic(path.join(__dirname, 'dist'))) var port = process.env.PORT || 8000 app.listen(port) console.log('server started ' + port) 

不要忘记build立

看看这里阅读更多关于构buildconf: 定制构build过程 – Heroku

如果这是一个选项,你也可以像这样全局安装http-server:

 npm install -g http-server 

并更新Procfile以添加上述答案中提到的configuration。

想知道:

  • npm install将同时安装“dependencies”和“devDependencies”
  • npm安装 – 生产只会安装“依赖关系”
  • npm install – dev只会安装“devDependencies”

您还需要定义一个小的静态服务器来为您的index.html文件提供服务。 一个简单的示例设置将使用http-server

 npm install -S http-server 

你的Procfile变成:

 web: http-server ./ -p $PORT 

使用http-server 。 但是这个软件包并没有全局安装,所以你将不得不使用它的完整path:

web: ./node_modules/http-server/bin/http-server ./ -p $PORT