数组转字符串需要将数组元素用某个字符连接成字解决
摘要:熟悉js的朋友很多都遇到过js的数组与字符串相互转换的情况,本文就此作一简单介绍js将字符串转换为数组,示例如下:一、数组转字符串需要将数组元素用某个字符连接成字...
熟悉js的朋友很多都遇到过js的数组与字符串相互转换的情况,本文就此作一简单介绍,示例如下:
一、数组转字符串
需要将数组元素用某个字符连接成字符串,示例代码如下:
var a, b;a = new Array(0,1,2,3,4);b = a.join("-");
二、字符串转数组
实现方法为将字符串按某个字符切割成若干个字符串,并以数组形式返回,示例代码如下:
var s = "abc,abcd,aaa";ss = s.split(",");// 在每个逗号(,)处进行分解。
那么能否利用forever加启动脚本方式解决上述问题呢?答案当然是肯定的,只不过有点麻烦,而且forever官方缺少详细的配置文档。我在配置的时候也走了一些弯路,下面详细来说。
注:本文的实验环境是Ubuntu Server 12.04 LTS x86_64,在CentOS上的配置更简单一些
最早,我想着试试在/etc/rc.local中增加一句forever start xxx看看js将字符串转换为数组,结果发现Ubuntu(其他系统一样)就不鸟我,主要矛盾就是mongodb使用这种方式就可以跑起来,forever就不行,无奈之下,还是从/etc/init.d的角度去考虑吧。
前提是要先把forever好,方法很简单,执行如下命令就好:
npm install forever -g
安装完成后,用一个简单的Node程序测试一下:
forever start test.jsforever stop test.jsforever restart test.js
只要不提示error,就表明forever是可以用的,也就是说用forever来后台开启一个Node项目的基本条件已经具备,剩下的就是来编写一个启动脚本了。
脚本的基本内容如下,感谢原作者的辛勤劳动:
#!/bin/bash### BEGIN INIT INFO# Provides: xiyoulib# Required-Start: $all# Required-Stop: $all# Default-Start: 2 3 4 5# Default-Stop: 0 1 6# Short-Description: Start daemon at boot time# Description: Enable service provided by daemon。### END INIT INFO# chkconfig: 345 88 08# description: Forever for Node。jsDEAMON=/node。js/XiyouLibNodeExpress/bin/www #这里需要填写你自己的Node项目的启动脚本文件LOG=/node。js/log/log #可选,日志文件目录PID=/node。js/pid #必填内容,用于记录forever的进程号export PATH=$PATH:/usr/local/bin #在这里指定一下Node的可执行程序安装目录,我的是/usr/local/binexport NODE_PATH=$NODE_PATH:/usr/local/lib/node_modules #这里是Node类库的路径#往下的内容就不用修改了node=nodeforever=forevercase "$1" in start) $forever start -l $LOG --pidFile $PID -a $DEAMON ;; stop) $forever stop --pidFile $PID $DEAMON ;; stopall) $forever stopall --pidFile $PID ;; restartall) $forever restartall --pidFile $PID ;; reload|restart) $forever restart -l $LOG --pidFile $PID -a $DEAMON ;; list) $forever list ;; *) echo "Usage: /etc。init。d/node {start|stop|restart|reload|stopall|restartall|list}" exit 1 ;;esac
在这里提醒一下:最好为Node项目单独在根目录下建立一个目录,如/node.js,然后权限设为754,这样可以避免一些权限问题而造成的麻烦!
由于用的是Ubuntu Server系统,上面还配置了MongoDB的启动服务,而且在其init.d的脚本中加入了以下的语句:
# Required-Start: $all# Required-Stop: $all
所以在以后自己添加的时候系统会提示错误,所以在Node项目的启动脚本里我加了前面一串的说明注释,以便Ubuntu Server系统进行设置,如果在CentOS上,应该不会出现类似的问题,这点要特别注意!
即以下的说明信息:
### BEGIN INIT INFO# Provides:xiyoulib# Required-Start: $all# Required-Stop: $all# Default-Start: 2 3 4 5# Default-Stop: 0 1 6# Short-Description: Start daemon at boot time# Description: Enable service provided by daemon.### END INIT INFO
脚本编辑完成后使用chkconfig --list指令查看一下自己添加的服务是否生效,即3和5全部要为on才可以实现开机自启动。
如果3和5没有被置为on,那么请执行chkconfig --level 35 [你的服务名] on即可,Ubuntu Server可能会报一些warning,但是只要能将所需设置的服务的3、5变为on,其他的错误可以忽略(我感觉这是系统自己的事)。
设置完成后即可实现Node项目在Linux上的自启动,可以shutdown -r now试一下能否自启,启动好以后直接去访问一下你设定的端口号、虚拟目录神马的,如果出来想要的就大功告成了!
但是如果不对,就好好检查一些脚本,然后根据报错进行相关修改,毕竟我也是试出来的嘛!
摘要:获取选中select:$("#idoption:selected").val();自定义radio:$("input[name=sex][v...
获取选中select :
$("#id option:selected").val();
自定义radio:
$("inputname=sex").attr("checked",true);
获取radio:
$("input[name='sex']:checked").val()
发表评论
热门文章
Spimes主题专为博客、自媒体、资讯类的网站设计....
一款个人简历主题,可以简单搭建一下,具体也比较简单....
仿制主题,Typecho博客主题,昼夜双版设计,可....
用于作品展示、资源下载,行业垂直性网站、个人博客,....
热评文章
最新评论
Z.
11月29日
博主你好,Deng插件,这个点击不进去,提示这个(Warning: require_once(/www/wwwroot/w.zzy2020.com/usr/plugins/Deng/Deng/html/profile.php): failed to open stream: No such file or directory in /www/wwwroot/w.zzy2020.com/Fresh/extending.php on line 26
Fatal error: require_once(): Failed opening required '/www/wwwroot/w.zzy2020.com/usr/plugins/Deng/Deng/html/profile.php' (include_path='.:/www/server/php/72/lib/php') in /www/wwwroot/w.zzy2020.com/Fresh/extending.php on line 26)
点都德
3天前
:喷::喜欢::怒::黑线: