标签nodejs

koa-redis

安装session和redis
npm i koa-generic-session koa-redis

const session = require(‘koa-generic-session’)
const Redis = require(‘koa-redis’)

app.keys=[‘keys’,’keyskeys’]
app.use(session({
store:new Redis()
}))

koa

koa-generator

全局安装 npm install koa-generator -g
生成项目 koa2 server /koa2 -e server
Koa的参数
-h, --help 帮助
-V, --version 版本号
-e, --ejs 添加ejs模板引擎支持(默认是jade)
--hbs 添加hbs模板引擎支持(默认是hbs)
-H, --hogan 添加hogan.js支持
-c, --css <engine> 添加css样式 支持 less sass styus css(默认是css)
--git 添加 .gitignore
-f, --force force on non-empty directory

install dependencies:
     $ cd koa2ser && npm install
   run the app:
     $ DEBUG=koa2ser:* npm start

启动项目 npm run dev

koa2-cors
安装npm i koa2-cors –save

Sequelize

npm install mysql2 -s
npm -install sequelize -d
npm -install sequelize-cli -d

创建一个数据库
sequelize cli
npx sequelize init

生成模型文件
– migrate
– model
npx sequelize model:generate --name Todo --attribbutes name:string,deadline:date

持久化数据
npx sequelize db:migrate

nvm 管理 nodejs 版本

安装见github
nstall & Update Script

To install or update nvm, you should run the install script. To do that, you may either download and run the script manually, or use the following cURL or Wget command:

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash
Running either of the above commands downloads a script and runs it. The script clones the nvm repository to ~/.nvm, and attempts to add the source lines from the snippet below to the correct profile file (~/.bash_profile, ~/.zshrc, ~/.profile, or ~/.bashrc).

export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
  • 显示nodejs已安装版本
    nvm ls
  • 当前node版本
    nvm current
  • 显示远程的lts版本
    nvm ls-remote –lts
  • 安装指定版本
    nvm install vx.x.x
  • 当前环境使用指定版本
    nvm use vx.x.x
  • 长期使用指定版本
    nvm alias default vx.x.x

nodejs 模板引擎

模板引擎:
– Jade:面向后端
使用#{}传递变量以及js表达式
属性传递变量直接等于变量即可,不能写成#{}形式,会报错。
‘-‘ 执行符
= 执行符
for循环
使用 ! 渲染dom节点
if判断渲染不同dom节点
jade中switch条件语句和js的语法有点不同,其用case…when…
class属性比较特殊,可以写多个class,jade会自动合并,其他属性不能重复
– Ejs:最常用,最广泛,前后端分离
特点:ejs是非破坏式(非侵入式)引擎,它不改变html的任何语法,可以让我们直接在标签内书写简单、直白的 JavaScript 代码。
<%=变量或表达式%>
ejs中输出data是在回调函数中,不像jade是定义一个变量来接收的
ejs中使用<%=变量名%> 输出数据到模板,如果输出如果含有html标签,<>会被编码(转义)
<%js代码%>
s中使用<%js代码%> 执行js代码, 不会输出,被称作无缓冲的代码。
由于不输出代码,会出现两行空行,可以换成<%_js代码_%>,会自动删除不输出产生的空行
<%-变量或表达式%>
默认使用<%%> 会将<>转义输出,可以使用<%-%>声明不转义输出
include
– handlerbars
模板引擎 Mustache 的扩展
– art-template
介绍 https://aui.github.io/art-template/zh-cn/docs/

Nodejs 卸载

卸载:
for MAC:
  1. 在终端输入以下命令:sudo rm -rf /usr/local/{bin/{node,npm},lib/node_modules/npm,lib/node,share/man/*/node.*}
    1. 删除/usr/local/lib中的所有node和node_modules
    2. 删除/usr/local/lib中的所有node和node_modules的文件夹
    3. 如果是从brew安装的, 运行brew uninstall node
    4. 检查~/中所有的local, lib或者include文件夹, 删除里面所有node和node_modules
    5. 在/usr/local/bin中, 删除所有node的可执行文件
    6. 最后运行以下代码:(可能具体安装路径会有区别 ,find ~ -name “node”   可以找到所有
  2. sudo rm /usr/local/bin/npm
    sudo rm /usr/local/share/man/man1/node.1
    sudo rm /usr/local/lib/dtrace/node.d
    sudo rm -rf ~/.npm
    sudo rm -rf ~/.node-gyp
    sudo rm /opt/local/bin/node
    sudo rm /opt/local/include/node
    sudo rm -rf /opt/local/lib/node_modules

for Ubuntu:
sudo apt-get remove –purge npm
sudo apt-get remove –purge nodejs
#手动删除 npm 相关目录
rm -r /usr/local/bin/npm
rm -r /usr/local/lib/node-moudels
find / -name npm
rm -r /tmp/npm*

Nodejs安装

API http://nodejs.cn/api

  • 下载地址
    https://nodejs.org/en/download/
    http://nodejs.cn/download
    二进制安装 ubuntu/Mac/centos
    apt/brew/yum install nodejs
    apt/brew/yum install npm
    查找是否安装
    apt-cache search nodejs
    下载二进制安装
    tar -zvxf node-v12.13.0.tar.gz
    sudo mv node_v12.13.0-linux-x64 /usr/local/nodejs/

  • 添加环境变量
    /etc/profile #全局环境变量配置文件
    ~/.bashrc #当前用户环境变量配置文件
    #node
    export NODE_HOME=/opt/nodejs
    export PATH=$NODE_HOME/bin:$PATH
    #npmexport NODE_PATH=/opt/nodejs/lib/node_modules
    source 你配置的那个文件让他生效

或者通过软连接的形式将node和npm链接到系统默认的PATH目录下,以下仅介绍软链接方式;
分别执行
sudo ln -s /opt/node/bin/node /usr/local/bin/node
sudo ln -s /opt/node/bin/npm /usr/local/bin/npm

源码安装
wget -c https://npm.taobao.org/mirrors/node/v12.13.0/node-v12.13.0.tar.gz
tar -zvxf node-v12.13.0.tar.gz
生成makefile
./configure –prefix=/user/local/nodejs//要安装的路径
python tools/gyp_node.py –no-parallel -f make-linux
make -j 4 && sudo make install
个性环境变量
vi ~/.bashrc
使生效
source ~/.bashrc
确认环境变量
env | grep PATH

在后台执行
npm install forever -g
forver start/stop server.js