zoukankan      html  css  js  c++  java
  • Node.js初学第二天

    一、模块

    每一个js文件是一个模块;多个js文件相互调用,共同实现一个功能,也叫作一个模块。所以:模块就是一些功能的封装

    1》js文件和js文件有两种合作模式:

         1、某一个JS文件中提供了函数,供别人使用,只需要暴露函数就行了。用exports和require联合使用;

         2、某一个js文件中描述了一个类。module.exports=构造函数名;

    2》node_modules文件夹:

    node中,引包的时候,如果不写“./”,默认是从node_modules中引用相应的js文件;eg:var foo=require("foo.js");类似于:var foo=require("./node_modules/foo.js");

    不写“.js”,默认引用node_modules文件夹下的子文件夹中的index.js文件;eg:var foo=require("foo"); 即:引用node_modules文件夹下的foo文件夹下的index.js文件;

    3》package.json文件:

    每一个模块文件夹中,推荐都写一个package.json文件,这个文件的名字不能改。node将自动读取里面的配置。有一个main项,就是入口文件:

              {

               "name": "kaoladebar",

               "version": "1.0.1",

                "main" : "app.js"

               }

             

    package.json文件,要放到模块文件夹的根目录去。

    二、npm(node package management)

    工程师将一些常用的函数封装成一个个的包,放到社区npm(https://www.npmjs.com/)上供别人使用;

    使用方法:在https://www.npmjs.com/中找到要使用的包,在cmd中输入命令:  npm install  包名

     代码中引用的时候,直接用require(“包名”);即可

    eg:

    var silly=require("silly-datetime");
    console.log(silly.format(new Date(),"YYYYMMDDHHmm"));

    三、路径

    _dirname :表示绝对路径(访问模块的时候,直接写相对路径即可,但是当访问文件如txt,则需要写绝对路径);

    require()别的js文件的时候,将执行那个js文件。

    require()中的路径,是从当前这个js文件出发,找到别人。而fs是从命令提示符找到别人。

    所以,桌面上有一个a.js, test文件夹中有b.js、c.js、1.txt

    a要引用b:

             var b = require(“./test/b.js”);

    b要引用c:

               var b = require(“./c.js”);

    但是,fs等其他的模块用到路径的时候,都是相对于cmd命令光标所在位置。

    所以,在b.js中想读1.txt文件,推荐用绝对路径:

               fs.readFile(__dirname + "/1.txt",function(err,data){

                     if(err) { throw err; }

                     console.log(data.toString());

               });

     

  • 相关阅读:
    FineReport---数据集
    FineReport----单元格元素(数据列、公式、斜线)
    FineReport---样式
    SQL-修改: 将日期修改为空NULL、修改为空的记录
    sql---字段类型转换,保留小数位数,取日期格式,sql获取当前时间,时间处理
    深入浅出Mqtt协议
    一文了解Redis
    RDBMS关系型数据库与HBase的对比
    Greedysky:C++ 建议用 nullptr 而不是 NULL
    Greedysky:C++11 新特性之强制类型转换static_cast
  • 原文地址:https://www.cnblogs.com/czqbk/p/5729574.html
Copyright © 2011-2022 走看看