一个目录下多个nodejs项目

一个目录下多个nodejs项目,第1张

目前似乎最常见的线上部署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程序的位置不包括等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9705843.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存