标签(空格分隔): node.js
**Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。
Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型,使其轻量又高效。
Node.js 的包管理器 npm,是全球最大的开源库生态系统。**
Node.js你需要知道
你应该了解一些基本的计算机编程术语。如果你学习过Javascript,PHP,Java等编程语言,将有助于你更快的了解Node.js编程。
如果你是一个前端程序员,你不懂得像PHP、Python或Ruby等动态编程语言,然后你想创建自己的服务,那么Node.js是一个非常好的选择。
Node.js 是运行在服务端的 JavaScript,如果你熟悉Javascript,那么你将会很容易的学会Node.js。
当然,如果你是后端程序员,想部署一些高性能的服务,那么学习Node.js也是一个非常好的选择。
提示:nodejs 只是需要运维部署,它相当于一个容器,类似于JDK环境一样
Nodejs官网:https://nodejs.org
Nodejs中文网:http://nodejs.cn/
1.下载安装包
$ wget https://nodejs.org/dist/v8.9.2/node-v8.9.2-linux-x64.tar.xz
$ xz -d node-v8.9.2-linux-x64.tar.xz
$ tar xf node-v8.9.2-linux-x64.tar -C /usr/local/
$ ln -s /usr/local/node-v8.9.2-linux-x64 /usr/local/node
2.配置环境变量
$ echo "export PATH=$PATH:/usr/local/node/bin" >>/etc/profile
$ . /etc/profile && source /etc/profile
3.检查是否安装成功
$ node -v
v8.9.2
温馨提示: 建议使用二进制包,不使用源码包,因为编译会有很多依赖的问题
因为npm是国外的镜像站,我们下载东西会比较慢,这里我们安装阿里云国内的镜像,同步频率为10分钟一次
$ npm install -g cnpm --registry=https://registry.npm.taobao.org
或者你直接通过添加 npm
参数 alias
一个新命令:
alias cnpm="npm --registry=https://registry.npm.taobao.org \
--cache=$HOME/.npm/.cache/cnpm \
--disturl=https://npm.taobao.org/dist \
--userconfig=$HOME/.cnpmrc"
# Or alias it in .bashrc or .zshrc
$ echo '\n#alias for cnpm\nalias cnpm="npm --registry=https://registry.npm.taobao.org \
--cache=$HOME/.npm/.cache/cnpm \
--disturl=https://npm.taobao.org/dist \
--userconfig=$HOME/.cnpmrc"' >> ~/.zshrc && source ~/.zshrc
安装模块
从 registry.npm.taobao.org 安装所有模块. 当安装的时候发现安装的模块还没有同步过来, 淘宝 NPM 会自动在后台进行同步, 并且会让你从官方 NPM registry.npmjs.org 进行安装. 下次你再安装这个模块的时候, 就会直接从 淘宝 NPM 安装了.
$ cnpm install [name]
同步模块
直接通过sync
命令马上同步一个模块, 只有cnpm
命令行才有此功能
$ cnpm sync connect
当然, 你可以直接通过 web 方式来同步: /sync/connect
$ open https://npm.taobao.org/sync/connect
其它命令
支持 npm
除了 publish
之外的所有命令, 如:
$ cnpm info connect
Node环境主要是用于前端环境,例如移动官网(手机打开百度的页面)。这里我们给大家演示一下
1.首先我们要在svn把代码拉去下来,因为node环境主要是的文件就是package.json,没有这个文件是没法进行构建的
2.执行cnpm install
或者npm
进行构建
3.执行npm run build
进行打包
成功的结果如下:(只要没有error就可以)
3.执行npm run start &
我们要执行& 后台运行
结果:我们这个项目用的是最新的,以前的只需要静态文件即可,我也不太清楚为啥这次的node环境需要在我这里启动,以上的步骤我们可以写个脚本。
[[email protected] m]# cat /etc/init.d/mobile
#!/bin/bash
# chkconfig: 2345 77 47
# description: Tomcat is a Java Servlet Container
. /etc/init.d/functions
. /etc/profile
TOMCAT_HOME=/application/node/m
start () {
/usr/local/node/bin/npm run start &
echo "$0 is running"
}
stop () {
TOMCAT_PID=`ps -ef |grep "$TOMCAT_HOME" |grep -v "grep" |awk '{print $2}'`
if [ -z $TOMCAT_PID ];then
echo "$0 is not running"
else
echo "shutting down $0"
kill -9 "$TOMCAT_PID" && echo "PID $TOMCAT_PID killed."
fi
}
status () {
TOMCAT_PID=`ps -ef |grep "$TOMCAT_HOME" |grep -v "grep" |awk '{print $2}'`
if [ -z $TOMCAT_PID ];then
echo "$0 is not running"
else
echo "$0 is running PID is $TOMCAT_PID"
fi
}
case $1 in
start)
start
;;
stop)
stop
;;
status)
status
;;
restart)
stop
start
;;
*)
echo "Usage:$0 {start|stop|status|restart}."
;;
esac
Java实现常见排序算法日常操作中常见排序方法有:冒泡排序、快速排序、选择排序、插入排序、堆排序等以下是各排序算法定义及代码实现:1、冒泡排序(Bubble Sort):是一种计算机科学领域的较简单的排序算法。它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果他们的顺序错误就把他们交换过来,直到没有相邻元素需要交换,也就是说该元素已经排序完成。该排序算法不稳定/** * 冒泡排...
执行ctrl+ c终止mysql optimize命令导致主从延迟暴增在mysql 终端,执行ctrl+ c终止 optimize table table_name,从库的optimize 命令并没有被终止,由于表非常大,从库延迟过高,在从库查看进程show processlist找到 altering table 的进程idkill id
import matplotlib.pyplot as pltnum_list = [27, 34, 37, 48,50, 51,52,58,73,98, 109,115,165,86,80, 69,53,38,23,10]#例的纵坐标name_list = ['20','12','54','40','55',
概要WWDC 2015 推出和开源 Swift 2.0,Swift作为全新的开发语言,有很多新特性。而Swift可以与混编,所以Objective-C也增加了一些新特性与Swift同步 (ransparently interoperates)。虽然将来有一天Objective-C可能会被Swift取代,但就目前来说,Objective-C还是主流,原因是Swift还处于成长期。下面将介绍三个主
注册表类: 1.reg add 添加注册表键值 命令格式: REG ADD KeyName [/v ValueName | /ve] [/t Type] [/s Separator] [/d Data] [/f] 常用参数: KeyName [//Machine/]FullKey 远程机器的机器名 - 忽略默认到当前机器。
生成图片 // 生成图片 PDDocument pd = PDDocument.load(new File(filePath)); PDFRenderer pdfRenderer = new PDFRenderer(pd); BufferedImage combined = null; ...
1. 图片存储方案在实际开发中,我们会有很多处理不同功能的服务器。例如:应用服务器:负责部署我们的应用数据库服务器:运行我们的数据库文件服务器:负责存储用户上传文件的服务器分服务器处理的目的是让服务器各司其职,从而提高我们项目的运行效率。常见的图片存储方案:方案一:使用nginx搭建图片服务器,API不友好,不能做分布式方案二:使用开源的分布式文件存储系统,例如Fastdfs、HD...
文章目录前言一、XSS是什么?二、使用步骤1.引入库2.读入数据总结前言由于博主目前在一家主做网络安全的公司实习,之前没有意识到网络安全的严重性,现在才感受到我们的系统存在了这么多问题。下面我们一起来聊一聊最常见的两种攻击方式,xss和csrf吧!一、XSS是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码如下(示例):import numpy as npimport pandas as pdimport mat
一篇文章带你看懂时间复杂度如果你还在发愁究竟怎么计算时间复杂度和空间复杂度,那你是来对地方了!名词解释(枯燥乏味的解释,为了文章完整性):在计算机科学中,时间复杂性,又称时间复杂度,算法的时间复杂度是一个函数,它定性描述该算法的运行时间。这是一个代表算法输入值的字符串的长度的函数。时间复杂度常用大O符号表述,不包括这个函数的低阶项和首项系数。使用这种方式时,时间复杂度可被称为是渐近的,亦即...
json.append(key,value) 会把 value 包装成一个数组JSONObject append = new JSONObject().append("a", "aa").append("b", "bb");JSONObject put = new JSONObject().put("c", "ccc").put("d", "ddd");System.out.print...
一个库的名字总是以lib开头。
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 很多同学都喜欢看代码,但是不喜欢调试代码。其实,在我看来,调试代码本身也是一项重要的能力。一份代码,如果没有经过反复调试和验证,很难说自己是不是理解得够深刻。同样对于win32也是这样,win32的api本来就多,如果不经过反复学习、练习、测试,要真正融会贯通地理解是很难的。所以,今天就说