目前似乎最常见的线上部署nodejs项目的有forever,pm2这两种,本文恩主要给大家介绍了关于利用pm2部署多个nodejs项目的配置教程,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看看吧。
前言
相信大家应该都知道,一般在实际项目部署中,我们服务器在启动的时候需要自动启动node服务。以前是通过liunx自带的命令启动。但是随着后台微服务越来越多。每次发布新程序。修改脚本太麻烦了。于是换成PM2来做。下面话不多说了,来一起看看详细的实现过程吧。
配置方法如下:
1首先安装pm2npm install -g pm2
2生成配置文件pm2 ecosystem
生成完成会有一个ecosystemconfigjs的文件,
3修改配置文件
编辑ecosystemconfigjs
JS-打印word的模板程序
我们在做项目中经常遇到“打印表格”的功能,在此介绍一下我所用过的打印方法。
一、比较简单的做法,word另存转化为html文件的方式。分析如下:
1、首先我们需要在office中用wrod画好文件的模板,然后将其另存为thm网页形式。
2、将其改为jsp页面,这样我们就可以文件中使用后来传过来的变量值。此时就是我们传统的jsp方式,后台定义参数,然后前台获取,将变量值写在我们需要显示的地方。
3、对于表格,我们可以用循环来控制。
4、这样做打比较简单,缺点word模板不能修改,一旦表格做个微小的变化,那我们的工作量也不小,因为word转化后的代码很难读懂,要在代码上控制其样式,是相当的困难,所以不推荐这种做法。
(注:1、 在做模板时,我们可以先在需要显示变量值的地方首先定义好值,然后在jsp中直接替换就行。
2、在jsp页面中,在首先加入“<%@ page contentType="application/msword;charset=UTF-8"%>”, 以标识此页面为word文件。
3、如果需要点击时直接打开word文件,而非d出“保存、打开”对话框,则需要删除“xmlns:w="urn:schemas-microsoft-com:office:office"”代码即可。
下面我们介绍另一种更常用的方法,此方法的有点是:修改word模板文件,不会影响程序。
二、用JS控制的打印方式,具体如下:
1、首先画word模板,在需要动态显示内容的地方插入“标签”。方法如下:在word中,选中需要被替换的内容-->插入-->书签,为其定义好名字即可,其它类似。
2、将做好的模板文件另存为模板dot文件。
做到这基本就差不多了,接下来就是后台代码发挥的时候了。
3、在后台封装参数值。
4、调用JS函数打印。
为了更为直观的介绍,下面用一完整的例子介绍。
先把代码贴出来:
1、JS模板文件,适用范围:
a 根据文档文件,所有要显示的内容都定义为书签。
b 纯表格文件。如果为多个表格或表格中嵌套表格,则需要稍加修改。
c 文档、表格混搭型。
代码如下:
/ 得到 文件模板的目录 @param {} fileName @return {} / function getFileTemplatePath(fileName){ var path = "/page/printTemplate/" + fileName + "dot"; var url=">
编写js程序的位置不包括嵌入在标签中。可以在网页文件的script标签进行嵌入,将脚本程序代码放置在一个单独的文件中,在网页中引用这个脚本程序文件编写JavaScript的脚本代码。
写了个js倒计时的页面,数组、对象、函数、定时器、for、if、dom *** 作、Date、Math、正则表达式 都用到了
<html>
<head>
<title>countdown</title>
</head>
<body>
<div id="set">
<input type="text" id="year" value="2012"/>年<input type="text" id="month" value="12"/>月<input type="text" id="day" value="21"/>日
<input type="text" id="hour" value="23"/>:<input type="text" id="mins" value="58"/>
<input type="button" id="btn" value="开始倒计时"/>
</div>
<div id="rest"></div>
</body>
<script type="text/javascript">
(function() {
var rest = documentgetElementById('rest'), t = 0,
input = {
year: documentgetElementById('year'),
month: documentgetElementById('month'),
day: documentgetElementById('day'),
hour: documentgetElementById('hour'),
mins: documentgetElementById('mins'),
};
documentgetElementById('btn')onclick = function(){
var n = [];
for(var i in input) {
if(!/^\d+$/test(input[i]value)) return;
npush(parseInt(input[i]value));
}
var time = new Date(n[0],n[1]-1,n[2],n[3],n[4]);
clearInterval(t);
t = setInterval(function() {
var d = count(time);
restinnerHTML = dday + '天' + dhour + '小时' + dmin + '分钟' + dsec + '秒';
},
1000);
};
//传入要倒计时的日期的时间戳,返回还剩多少日小时分钟秒
function count(t) {
var c = Mathfloor((t - (new Date())) / 1000);
var d, h, m, s;
d = Mathfloor(c / 24 / 3600);
h = Mathfloor((c - d 24 3600) / 3600);
m = Mathfloor((c - d 24 3600 - h 3600) / 60);
s = Mathfloor(c - d 24 3600 - h 3600 - m 60);
return {
day: d,
hour: h,
min: m,
sec: s
}
}
})();
</script>
</html>
<html><head>
<meta >
以上就是关于一个目录下多个nodejs项目全部的内容,包括:一个目录下多个nodejs项目、JS-打印word的程序、编写js程序的位置不包括等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)