zoukankan      html  css  js  c++  java
  • nodejs部分

    导入模块 var path = require("path");

    path.basename('/foo/bar/baz/asdf/quux.html')获取文件名+后缀
    path.basename('/foo/bar/baz/asdf/quux.html','.html')

    path.dirname('/foo/bar/baz/asdf/quux')获取目录
    path.extname("/foo/hello/world/123.html") 获取文件的扩展名
    path.join('/foo', 'bar', 'baz/asdf', 'quux', '..')必须连接字符串,合并路径
    path.parse('/home/user/dir/file.txt')把路径转换为一个对象
    // returns
    // {
    // root : "/",
    // dir : "/home/user/dir",
    // base : "file.txt",
    // ext : ".txt",
    // name : "file"
    // }

    var obj = { root: 'c:\',
    dir: 'c:\home\hello\world',
    base: '123.html',
    ext: '.html',
    name: '123' }
    console.log(path.format(obj));把一个路径对象转换成一个路径字符串

    delimiter 环境变量的分隔符,可以跨平台 windows下是其它平台
    path.delimiter ";"

    path.sep 路径的分隔符 windows下是 其它下是/ "\"

    path.isAbsolute() 是否是绝对路径

    var url=require("url");返回的是一个对象,类似的require都是返回对象
    url.parse(urlStr);返回对象
    url.parse(str,true);有true时,query对应值是一个对象 query: { query: 'string', id: '123'
    },
    //Url {
    // protocol: 'http:',//协议
    // slashes: true,//斜杠,没有斜杠返回null
    // auth: 'user:pass',//url里的用户名密码
    // host: 'host.com:8080',//域名+端口
    // port: '8080',//端口
    // hostname: 'host.com',// p/a/t/h
    // hash: '#hash',
    // search: '?query=string&id=123',
    // query: 'query=string&id=123',
    // pathname: '/p/a/t/h',
    // path: '/p/a/t/h?query=string&id=123',
    // href: 'http://user:pass@host.com:8080/p/a/t/h?query=string&id=123#hash' }


    url.format(urlObj);对象转化成字符串


    querystring模块

    导入模块 var querystring = require("querystring");
    parse() 把参数字符串解析成对象
    var obj = querystring.parse("version=1.0&time=123");
    console.log(obj);
    stringify() 把一个对象转换成一个字符串
    escape() url进行编码
    unescape() url进行解码

    核心模块存储在node.exe中,当node.exe运行的时候,核心模块会被加载,require的时候会加载到
    内存
    在github上可以找到源代码,lib文件夹下
    核心模块的执行速度比较快

    文件模块(自定义模块),用户写的模块
    一般app.js是入口模块,可执行模块
    app.js中
    var o=require("./03add");
    //node中要加./
    //直接写名字会把它当作核心模块或者包来处理



    包的使用:
    所有模块放在一个文件夹(包名)
    包放在当前项目中的node_modules文件夹下
    包中定义一个index.js(文件名不可以更改)导出所有模块(包的出口,引用时候的入口)
    引用包(约定大于配置)

    标准包
    在引入的文件夹,在此处打开命令窗口,然后node init回车(node init -y表示全部使用默认值)
    输入包名字,设置版本号1.兼容2.增加3.修改bug
    添加描述的内容
    设置入口(当找不到index的时候,会找这个入口)
    设置执行的命令
    keywords:关键词
    license:(ISC) 输入ISC
    yes

    Node.js的调试:
    console.log()
    Node.js自带的调试器
    node debug a.js
    常用命令
    help 查看可用命令
    n 进入下一步
    s 单步进入
    o 步出
    WebStorm中调试

    严格模式:ES5中出现的模式
    在作用域的最上面 "use strict"
    js文件的最开头
    function的开头
    没有变量提升,必须先定义再使用
    有块级作用域


    常量 const
    常量的一旦赋值,不能改变
    有块级作用域
    没有变量提升,先定义再使用
    不可以重复定义

    string的扩展方法
    includes() 返回布尔值,是否包含,第二个参数从第几个位置开始查找
    startsWith() 返回布尔值,是否以...开头,第二个参数从第几个位置开始查找
    endsWith() 返回布尔值,是否以...结尾,第二个参数, 前n个字符以...结尾
    repeat() 重复次数


    变量 let
    没有变量提升,必须先定义再使用
    有块级作用域

    "use strict";
    let name="world";
    let template=`hello ${name}`;
    console.log(template);

  • 相关阅读:
    java.lang.NoClassDefFoundError:org/apache/commons/lang/exception/NestableRuntimeException错误的解决
    json转换成对象
    16年4月20号 个人总结
    sql between and
    sql 中的运算符级别 如and or not
    mybatis int 类型判断<if>
    iOS地址编码解析
    iosiOS 地图 自定义以及添加锚点
    ios如何获取位置权限
    如何初始化一个iOS原生地图
  • 原文地址:https://www.cnblogs.com/sw1990/p/6034132.html
Copyright © 2011-2022 走看看