• nodejs基础-


    浏览器内核

    一、nodejs是什么?

    一个开发平台,像java开发平台一样,使用编程语言,javascript,基于chrome V8引擎构建

    可以开发控制程序,桌面应用程序,web应用程序

    PHP开发技术栈--LAPH  linux apache mysql php

    nodejs 全栈开发技术栈: MEAN-MongoDB express Angular Nodejs

     二、nodejs特点

    1、事件驱动

    2、非阻塞I/O模型(当执行I/O操作时,不会阻塞线程)

    3、单线程

    4、拥有世界上最大的开园库生态系统--npm

     三、nodejs 网站

    1、nodejs官方网站 https://nodejs.org

    2、nodejs中文网 http;//nodejs.cn

    3、nodejs中文社区 https://cnodejs.org

     四、为什么学习nodejs

    五、学习目标

    了解服务器开发过程

    会使用nodejs开发基本的http服务程序(web应用程序)

    六、nodejs安装配置

    官网下载   自动安装 

    校验是否安装成功: node -v

    环境变量会自动配置,如果现实不是内部命令或者外部命令,则配置环境变量

    环境变量的意义,当执行某个程序时候,先在当前目录查找,

    如果有该程序,则执行,如果没有,到环境变量里面找,有则执行

    七、nvm-windows管理一台计算机上的多个node版本

     

     node version manager: https://github.com/coreybutler/nvm-windows

    nvm -v

    nvm --version  

    nvm list

    nvm install latest

    nvm uninstall 

    nvm use 版本号

     八、nodejs开发网站和PHPjava、asp.net有什么区别

     没有web容器

    九、RPWL介绍

    1. REPL全称: Read-Eval-Print-Loop (交互式解释器)
    -R读取-该取用户输入,解析输入了Javascript数据结构并存储在内存中.
    -E执行,执行输入的数据结构
    -P打印-输出结果
    -L循环-循环操作以上步骤直到用户两次按下ctrl-c按钮退出.
    2,在REPL中编写程序(类似于浏览器开发人员工具中的控制台功能) 
      +直接在控制台输入"node.命令进入REPL环境
    3,按两次Control + c退出REPL界面或者输入..exit"退出REPL界面

      +按住control键不要放开,然后按两下c键

    十、JavaScript文件名命名规则

    不要用中文
    不要包含空格
    不要出现node关键字
    建议以,-'分割单词

    十一、sublime text下载

    http://www.sublimetext.cn/官方下载地址

    汉化方法

    https://jingyan.baidu.com/article/15622f243c3844fdfcbea580.html

    快捷键:
    Ctrl+L 选择整行(按住-继续选择下行)
    Ctrl+KK 从光标处删除至行尾
    Ctrl+K Backspace 从光标处删除至行首
    Ctrl+J 合并行(已选择需要合并的多行时)
    Ctrl+KU 改为大写
    Ctrl+KL 改为小写
    Ctrl+D 选择字符串 (按住-继续选择下个相同的字符串)
    Ctrl+M 光标移动至括号内开始或结束的位置
    Ctrl+/ 注释整行(如已选择内容,同“Ctrl+Shift+/”效果)
    Ctrl+Shift+c转换为utf8
    Ctrl+R 搜索指定文件的函数标签
    Ctrl+G 跳转到指定行
    Ctrl+KT 折叠属性
    Ctrl+K0 展开所有
    Ctrl+U 软撤销
    Ctrl+T 词互换
    Tab 缩进 自动完成
    Shift+Tab 去除缩进
    Ctrl+F2 设置书签.
    F2 下一个书签
    Shift+F2 上一个书签
    shift+鼠标右键 列选择
    Alt+F3 选中文本按下快捷键,即可一次性选择全部的相同文本进行同时编辑
    Alt+. 闭合当前标签
    F6 检测语法错误
    F9 行排序(按a-z)
    F11 全屏模式
    Ctrl+Enter 光标后插入行
    Ctrl+Shift+Enter 光标前插入行
    Ctrl+Shift+[ 折叠代码
    Ctrl+Shift+] 展开代码
    Ctrl+Shift+↑ 与上行互换
    Ctrl+Shift+↓ 与下行互换
    Ctrl+Shift+A 选择光标位置父标签对儿
    Ctrl+Shift+D 复制光标所在整行,插入在该行之前
    ctrl+shift+F 在文件夹内查找,与普通编辑器不同的地方是sublime允许添加多个文件夹进行查找
    Ctrl+Shift+K 删除整行
    Ctrl+Shift+L 鼠标选中多行(按下快捷键),即可同时编辑这些行
    Ctrl+Shift+M 选择括号内的内容(按住-继续选择父括号)
    Ctrl+Shift+P 打开命令面板
    Ctrl+Shift+/ 注释已选择内容
    Ctrl+PageDown 、Ctrl+PageUp 文件按开启的前后顺序切换
    Ctrl+鼠标左键 可以同时选择要编辑的多处文本
    Shift+鼠标右键(或使用鼠标中键)可以用鼠标进行竖向多行选择
    Shift+Tab 去除缩进
    Alt+Shift+1~9(非小键盘)屏幕显示相等数字的小窗口

    常见插件

    用Package Control安装插件的方法:
    按下Ctrl+Shift+P调出命令面板
    输入install 调出 Install Package 选项并回车,然后在列表中选中要安装的插件。
    方法介绍完了,接下来进入今天正题,一些有用的Sublime Text 3插件:
    
    注意:安装插件时保持网络畅通,避免插件由于网络原因奔溃
    
    1. Emmet(原名 Zen Coding)
    一种快速编写html/css的方法
    
    注意:安装Emmet的同时,也会自动安装其依赖PyV8 binary库,安装PyV8库会用较长时间,可以在Sublime左下角看到安装进程状态
    
    2. html5
    支持hmtl5规范的插件包
    
    注意:与Emmet插件配合使用,效果更好
    
    使用方法:新建html文档>输入html5>敲击Tab键>自动补全html5规范文档
    
    3. jQuery
    支持JQuery规范的插件包
    
    4. javascript-API-Completions
    支持Javascript、JQuery、Twitter Bootstrap框架、HTML5标签属性提示的插件,是少数支持sublime text 3的后缀提示的插件,HTML5标签提示sublime text 3自带,不过JQuery提示还是很有用处的,也可设置要提示的语言。
    
    安装方法(请阅读链接详情):http://www.ithao123.cn/content-10545789.html
    
    5. JSFormat
    JS代码格式化插件。
    
    使用方法:使用快捷键ctrl+alt+f
    
    6. SublimeLinter
    一个支持lint语法的插件,可以高亮linter认为有错误的代码行,也支持高亮一些特别的注释,比如“TODO”,这样就可以被快速定位。(IntelliJ IDEA的TODO功能很赞,这个插件虽然比不上,但是也够用了吧)
    
    ##### 7. BracketHighlighter
    
    类似于代码匹配,可以匹配括号,引号等符号内的范围。
    
    使用方法:系统默认为白色高亮,可以使用链接所述方法进行自定义配置
    
    http://www.360doc.com/content/14/1111/15/15077656_424301780.shtml
    
    8. Alignment
    代码对齐,如写几个变量,选中这几行,Ctrl+Alt+A,哇,齐了。
    
    9. Ctags
    函数跳转,我的电脑上是Alt+点击 函数名称,会跳转到相应的函数
    
    10. Doc​Blockr
    注释插件,生成幽美的注释。标准的注释,包括函数名、参数、返回值等,并以多行显示,省去手动编写。
    
    使用方法见:http://www.cnblogs.com/huangtailang/p/4499988.html
    
    11. SideBarEnhancements
    侧栏右键功能增强,非常实用
    
    使用方法(参考链接内容):http://www.w3cfuns.com/notes/13810/d9b9ed2fb80785dae88a5344ef0f30d4.html
    
    我的github博客资源地址:https://github.com/LeonWuV/FE-blog-repository
    --------------------- 
    作者:LeonWuV 
    来源:CSDN 
    原文:https://blog.csdn.net/wxl1555/article/details/69941451 
    版权声明:本文为博主原创文章,转载请附上博文链接!
    

      

    十二、案例

    console.log('a');
    console.log('a ');
    console.log('b');
    process.stdout.write('a ');
    process.stdout.write('b');

    process.stdout.write('a ');不带换行的输出

     

     注意:

    process模块无需通过require()函数来加载模块,可以直接调用

    fs模块必须使用require()加载  var fs = require("fs")

    process模块是全局模块,而fs模块不是全局模块,全局模块可以直接使用,而非全局模块需要先通过require('')加载该模块

    • Globals模块下均是全局模块

     

    十三、单线程  非阻塞异步 

    演示地址:http://latentflip.com/loupe

     十四、写入读取文件

     默认是utf-8,如果不写,则需要toString(),将buffer转变为string

     解决在文件读取中 ./相对路径的问题

    解决:_dirname 、_filename

    _dirname:表示,当前正在执行的js文件所在的目录

    _filename表示,当前正在执行的js文件的完整目录

    不是全局,本地方法

     创建文件夹

     注意:

    1、异步操作无法通过try-catch来捕获异常,要通过判断error来判断是否出错,

    2、同步操作可以通过try-catch来捕获异常

    3、不要使用fs.exists(path,callback)来判断文件是否存在,直接判断error即可

    4、文件操作时的路径问题

      在读写文件的时候../"表示的是当前执行node命令的那个路径,不是被执行的js文件的路径
      dirname,表示的永远是“当前被执行的js的目录
      filename,表示的是"被执行的 s的文件名(含路径)"

     5、error-first介绍(错误优先)

    var fs1 = require("fs");
    try{
        fs1.writeFile("./yyy/abd.txt","大家早上好","utf-8",function (err,data) {
            // body...
            /*if (err) {
                console.log("出错了throw!");
            }*/
            console.log("ok");
        });
    }catch(e){
        console.log("出错了catch");
    }
    

      

  • 相关阅读:
    解决jar包冲突
    postman使用记录
    get请求直接通过浏览器发请求传数组或者list到后台
    excel中ppmt/pmt/ipmt的计算方式
    unicode编码与解码
    spring参数拼装
    java内存模型(jmm)
    Mysql事务,并发问题,锁机制-- 幻读、不可重复读(转)
    星空雅梦
    星空雅梦
  • 原文地址:https://www.cnblogs.com/eadela/p/11240594.html
Copyright © 2020-2023  润新知