目前我网上看到的资料都是要先启动nodejs的服务,再启动vue/react/前端的页面才可以,我想做到的效果是打开vue项目就自己启动nodejs的服务,请问下大家有什么思路什么方法可以做到呢。。 因为我做的项目是个人单机用的,但是得用到数据库,对方要用的话肯定是直接启动软件就能用的,而不需要自己再打开nodejs服务这样子。。
就是我打开打包好的vue项目时,自己启动nodejs服务,关闭了也自己停止
或者说,启动nodejs,自己可以打开vue项目吗。。。本人新手,问的问题可能比较傻,请大家轻喷
wait-on 包是等待前面运行在运行后面的 “concurrently “wait-on http://localhost:3000 && electron .” “cross-env BROWSER=none yarn start””,
index.html是vue打包出来的
app.get(’/’,function(req,res) {
fs.createReadStream(${__dirname}/index.html
).pipe(res)
});
你这问题的描述存在几个问题:
- 你的“软件”是否架构是B/S模式,那么下面假设你是
- 所谓的启动vue项目,是指dev的开发模式下,vue项目自带的http热加载静态服务?如果是,那么你可以在npm脚本后自行添加后端nodejs服务的启动脚本命令(像3楼说的)
- 注意到你后面说你单机使用,需要数据库,你的数据库是否是嵌入式的?比如SQlite。
- 对方要的话,如果是B/S模式?所谓“启动”是什么意思?因为“B/S”模式一般叫做服务器呈递浏览器客户端文件,客户只需要使用浏览器访问服务器资源即可,是否指启动服务器?
这些问题基本上可以断定,你对一个“软件”是如何“部署”的还不太明确,以下就是简单说明一下如果是B/S怎么部署,如果你了解过,那请再自己思考这些问题:
- 所谓vue项目,这里指纯前端分离的项目,当中的源码都是开发用得,生产环境下不可能还会使用dev服务方式运行,也就是可能你说的“启动vue项目”,前端项一般打包为index.html及其匹配的资源文件。
- 在nodejs服务,也就是后台中提供前端项目所需要的数据API,并提供前端index.html及其资源的静态服务(像4楼说的),或使用nginx等进行API的重定向和前端静态资源的呈递。
- 至于数据库,是必须在“服务器”本机上安装的,数据库也要提前运行,正常提供服务,除非是嵌入式数据库。
- 客户直接使用浏览器访问“服务器”的服务端口即可。
使用 webpack-dev-middleware https://www.webpackjs.com/guides/development/#使用-webpack-dev-server