• NodeJs


    主要学习教程:http://www.runoob.com/nodejs/nodejs-tutorial.html

    下载地址:https://nodejs.org/en/

    中文网:http://nodejs.cn/

    淘宝镜像:http://npm.taobao.org

    nodeJS产生的背景:解决高并发

    Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。 
    Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型,使其轻量又高效。 
    Node.js 的包管理器 npm,是全球最大的开源库生态系统。


    浏览器两个引擎:1、html、css解析引擎 2、js解析引擎

    安装后,打开dos输入node进入node环境 (退出 ctrl c c)

    编译某个js文件:

    node index.js    (或 node index)

    nodeJs 使用 CommonJS 规范

    什么是 Node.js

    Node.js 可以解析JS代码(没有浏览器安全级别的限制)提供很多系统级别的API,如:
    - 文件的读写
    - 进程的管理
    - 网络通信
    - ……

    准备 Node.js

    使用nvm (node-version-manage)来安装并维护多个Node.js的版本

    参考:http://www.cnblogs.com/kaiye/p/4937191.html

    1、项目地址:
    https://github.com/creationix/nvm/blob/master/README.md

    mac系统安装:curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.6/install.sh | bash

    windows安装:

    可直接下载,安装包参考:http://blog.csdn.net/tyro_java/article/details/51232458.

    项目:https://github.com/coreybutler/nvm-windows/releases

    这里下载的是 nvm-setup.zip ,安装后会自动配置环境变量

    2、配置加速镜像:

    mac系统下(~/.bash_profile, ~/.zshrc, ~/.profile, or ~/.bashrc)添加: 

    export NVM_NODEJS_ORG_MIRROR=https://npm.taobao.org/mirrors/node
    export NVM_DIR="$HOME/.nvm"
    [ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm

    windows下配置nvm安装目录(如:D:UsersfanAppDataRoaming vm)中的settings.txt: 

    root: d:UsersfanAppDataRoaming
    vm
    path: d:Program Files
    odejs
    arch: 64 
    proxy: none 
    node_mirror: http://npm.taobao.org/mirrors/node/ 
    npm_mirror: https://npm.taobao.org/mirrors/npm/
     

    3、使用

    nvm命令:

    
    #查看nvm命令行
    nvm
    #查看nvm版本
    nvm --version
    #安装nodeJs的某个版本
    nvm install v7.6.0
    #卸载某个版本的nodn
    nvm uninstall 4.4.5
    #查看当前已安装的nodeJs版本及当前使用的版本
    nvm ls
    #查看(镜像)源的nodeJs版本列表
    nvm ls-remote
    #查看lst版本
    nvm --lst
    #切换nodeJs版本
    nvm use v6.11.5
    #指定版本运行文件
    nvm run v[版本号] [文件名] #如:nvm run 7.6.0 index,v可省略
    #更新npm
    nvm install-latest-npm

     

     

    一些问题:
    curl下载nvm时:
    Failed to connect to raw.githubusercontent.com port 443
     

    查询真实IP

    https://www.ipaddress.com/查询raw.githubusercontent.com的真实IP。

    修改hosts文件: 199.232.28.133 raw.githubusercontent.com
    mac下地址:/etc/hosts
     
     

    问题一:安装多个版本node,切换node版本后,npm命令失效

     解:根据错误信息,查看安装目录发现该该版本npm没有安装成功,卸载后再重新安装即可

     问题二:使用nvm管理node版本时,各个版本下公用npm安装的插件问题

    解:http://www.cnblogs.com/webwy/p/6867000.html,当然这也有一些问题,安装的包可能与当前的node版本不适用
      
    nvm如何自动启用当前项目的对应的node版本?
    在工程目录下新建 .nvmrc
    内容如:6.11.5
    运行: nvm use (会自动查询并切换 .nvmrc中定义的node版本)
     
    npm常用命令
     

    如何实时刷新改动后的node程序?(热加载)

    supervisor

    在开发过程中,每次修改代码保存后,我们都需要手动重启程序,才能查看改动的效果。使用 supervisor 可以解决这个繁琐的问题,全局安装 supervisor:

    npm install -g supervisor

    运行 supervisor --harmony index 启动程序,每当文件修改时会自动热刷新,如下所示:

    tips:类似的包还有 nodemon ,pm2

    自定义模块引入:

       1 var name = require('./name.js') | var name = require('./name') 

      注:node中commonJS引入模块,其src若不跟路径标识,如 :var name = require('name.js'),则程序会先在当前文件夹第三方模块(node_modules)中查找是否有该模块,若无则到上一层目录查找第三方模块,以此类推,直至根目录,若找不到则再去内置模块中查找,还找不到则报错。因此自定义模块引入时切记加上路径。

      exports = modules.exports,exports只是 modules.exports的引用,因此暴露模块时不能使用 exports = {} ,因为这样exports就不再指向 modules.exports ,产生断链。

      




  • 相关阅读:
    原产地政策,jsonp跨域
    4安德鲁斯.2.2在系统,具有系统权限的应用程序无法读取或写入SD卡
    [学习笔记]批次需求计划系统-简要
    【大话设计模式】——代理模式
    jQuery Mobile发展新闻阅读器,适应iphone和android打电话
    HDN2048(交错复发)
    CodeForces 69D Dot (游戏+记忆)
    Cocos2d-x 3.x plist+png 做动画
    Solr/SolrCloud -error
    Linux fdisk
  • 原文地址:https://www.cnblogs.com/fanlinqiang/p/7741217.html
Copyright © 2020-2023  润新知