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());

               });

     

  • 相关阅读:
    257. Binary Tree Paths
    324. Wiggle Sort II
    315. Count of Smaller Numbers After Self
    350. Intersection of Two Arrays II
    295. Find Median from Data Stream
    289. Game of Life
    287. Find the Duplicate Number
    279. Perfect Squares
    384. Shuffle an Array
    E
  • 原文地址:https://www.cnblogs.com/czqbk/p/5729574.html
Copyright © 2011-2022 走看看