如何解决如何为 escpos 协议构建 angular 和 node js?
对不起我的英语。 我有角度前端,节点 js 服务器,热敏打印机。 我必须使用 esc/pos 协议从 angular 与热敏打印机通信,所以我制作了一个 node js 服务器。 现在我从 angular 向节点发出请求,然后节点与打印机通信(使用 ip 和端口)。 如何一起构建角度和节点?所以当我部署它时,我不必每次都启动节点服务器? 谢谢
解决方法
我想您是指在本地运行它。有几种方法:
- 例如,在 Windows 10 中,您可以像窗口服务一样运行 nodejs“服务器”。所以它在启动时运行。 (看看这个 repo Forever tool)
- 您可以使用电子 js:首先生成您的 Angular 项目构建:
ng b --prod
:这将生成带有 index.html 和必要脚本的 dist 文件夹。现在,您可以从节点 js 脚本中提供此静态文件夹:例如,在 Express js 的帮助下。
var express = require("express");
var app = express();
app.use(express.static("/dist/myAngularProject"));
//Add your escpos logic,ecc..
app.listen(3001,function () {
console.log("Server listening on port 3001!");
});
现在,如果您运行命令:node index.js
,您应该会看到您的 Angular 应用程序。下一步非常简单:启动一个新的 Electron js 应用程序,并在您的 main.js 中加载您的服务器 URL:
const { app,BrowserWindow } = require('electron')
require("./server/myNodeJsServerIndex.js")
let win
function createWindow () {
win = new BrowserWindow({
width: 950,height: 750,fullscreen: true,webPreferences: {
nodeIntegration: true,devTools:false
}
})
//my node js server
win.loadURL(`http://localhost:3001`);
win.on('closed',() => {
win = null
})
}
app.on('ready',createWindow)
app.on('window-all-closed',() => {
if (process.platform !== 'darwin') {
app.quit()
}
})
app.on('activate',() => {
if (win === null) {
createWindow()
}
})
使用 require("./server/myNodeJsServerIndex.js")
和 win.loadURL(
http://localhost:3001);
,这意味着每次启动电子客户端时,您的 nodejs 服务器都会自动启动。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。