nodejs的打包程序

模块:实现特定功能的文件

1.通过require引入模块

2.模块中的功能(变量,函数),通过赋给exports对象的某个属性提供给调用者使用

1
2
function sum(){xxxxx}
exports.sum = sum;

在另一个文件夹中这样调用

1
2
var sum = require('tt');
sum.sum();

exports实现了隔离作用域,外部只能访问exports提供出来的函数

exports 是 module exports的别名

包:包是一个文件夹,将模块封装起来,用于发布、更新、依赖管理和版本控制。

通过package.json描述包的信息,入口文件,依赖的外部包等。

通过npm install 安装包,通过require使用

node中的javascript

文件相关操作

fs对象

fs.readfile  一个异步读取的方法

1
2
3
4
5
require('fs')
fs.readfile(filepath,function(err,data){
   if(err){console.log(err)};
   else{console.log(data).toString()};
});
1
2
3
4
5
require('fs')
fs.readfile(filepath,'utf-8',function(err,data){
   if(err){console.log(err)};
   else{console.log(data)};
});

fs.readfileSync()同步读取方法,会阻塞下面代码的执行

1
var data = fs.readfileSync('tt.js','utf-8');

js

事件、观察者模式、事件原理、自定义事件

path

require('path')

path.sep  --> console.log(path.sep) 打印分隔符,sep是seperator的缩写

path.extname(‘test.txt’)  -->获取文件的扩展名,服务器编程经常用到

url对象

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
var http p = require('http');
var url = require('url');
var fs = require('fs');
 
http.createServer(function(request,response){
     var urlObj = url.parse(request.url);
     console.log(urlObj);
     var pathname = urlObj.pathname;
     var query = urlObje.query;
     fs.readFile(pathname.substr(1),'utf-8',function(err,data){
         if(err){
             response.writeHead(404);
             response.end('file not found');
         }else{
             reponse.end(data);
         }
       });


nodejs-Module的更多相关文章

  1. nodejs module/require

    1. wrap up a module using module.exports, name the file to a.js var fun1=function(){ var stylus = re ...

  2. nodejs . module.exports

    //utils.js let a = 100; console.log(module.exports); //能打印出结果为:{} console.log(exports); //能打印出结果为:{} ...

  3. ES6的export与Nodejs的module.exports

    原文:https://www.cnblogs.com/lxg0/p/7774094.html module.exports与exports,export与export default之间的关系和区别 ...

  4. RESTful API Design With NodeJS & Restify

    http://code.tutsplus.com/tutorials/restful-api-design-with-nodejs-restify--cms-22637 The RESTful API ...

  5. Nodejs的模块系统以及require的机制

    一.简介 Nodejs 有一个简单的模块加载系统.在 Nodejs 中,文件和模块是一一对应的(每个文件被视为一个独立的模块),这个文件可能是 JavaScript 代码,JSON 或者编译过的C/C ...

  6. module、export、require、import的使用

    module 每个文件就是一个模块.文件内定义的变量.函数等等都是在自己的作用域内,都是自身所私有的,对其它文件不可见. 每个文件内部都有一个module对象,它包含以下属性 id: 模块的识别符,通 ...

  7. exports与module.exports,export与export default 之间的关系和区别

    首先我们要明白一个前提,CommonJS模块规范和ES6模块规范完全是两种不同的概念. CommonJS模块规范 Node应用由模块组成,采用CommonJS模块规范. 根据这个规范,每个文件就是一个 ...

  8. 【NodeJS】基础知识

    nodejs基础 nodejs允许自己封装模块,使得编写程序可以模块化,便于维护整理.在一个js文件中写完封装的函数或对象后,可以使用exports或module.exports来将模块中的函数暴露给 ...

  9. module.exports与exports,export与export default之间的关系和区别

    首先我们要明白一个前提,CommonJS模块规范和ES6模块规范完全是两种不同的概念. CommonJS模块规范 Node应用由模块组成,采用CommonJS模块规范. 根据这个规范,每个文件就是一个 ...

  10. module.exports 与 exports

    module.exports 与 exports 注意:1 对于要导出的属性,可以简单直接挂到 exports 对象上2 对于类,为了直接使导出的内容作为类的构造器可以让调用者使用 new 操作符创建 ...

随机推荐

  1. Cocos2d-x3.3beta0创建动画的3种方式

    1.单独载入精灵对象 渲染效率低,浪费资源,不推荐用该方法.代码例如以下:注:代码仅仅需贴到HelloWorldScene.cpp中就可以. //First,单独渲染每个精灵帧 auto sprite ...

  2. luogu4011 孤岛营救问题 分层图

    关键词:分层图 状态压缩 最短路径 分层图:现在要求从起点到终点的最优路线,但受到手里拿着哪些钥匙的影响,最优路线不单纯了.因此,决定一个节点.一条边的存在的数中应当增加一个手中拿有钥匙的状态.这样就 ...

  3. element-UI中table表格的@row-click事件和@selection-change耦合了

    <el-table ref="multipleTable" :data="tableData" tooltip-effect="dark&quo ...

  4. 寒武纪芯片——有自己的SDK,支持tf、caffe、MXNet

    寒武纪芯片 产品中心>智能处理器IP 智能处理器IP MLU智能芯片 软件开发环境 Cambricon-1A 高性能硬件架构及软件支持兼容Caffe.Tensorflow.MXnet等主流AI开 ...

  5. js设计模式-桥接模式

    桥接模式定义:桥梁模式的用意是"将抽象化(Abstraction)与实现化(Implementation)脱耦,使得二者可以独立地变化".这句话有三个关键词,也就是抽象化.实现化和 ...

  6. 记录,javascript中对象的属性名是字符串,却可以不用引号

    问题描述:今日看书,里面介绍js的对象的属性名是包括空字符串在内的所以字符串 问题来了,我们平时定义的对象如下,是没有引号""or’'的 var someone  = {    f ...

  7. golang二维码

    package main import ( "github.com/boombuler/barcode" "github.com/boombuler/barcode/qr ...

  8. HBase编程 API入门系列之scan(客户端而言)(5)

    心得,写在前面的话,也许,中间会要多次执行,连接超时,多试试就好了. package zhouls.bigdata.HbaseProject.Test1; import javax.xml.trans ...

  9. 解决Android单个dex文件不能超过65535个方法问题

    一.找坑:谷歌规定单个dex文件中的方法不能超过65536的限制 我们编写项目过程中在工程的lib文件夹下引用的第三方插件jar包太多或者项目过大,编译运行时就有可能报出com.android.dex ...

  10. ERROR 1062 (23000): Duplicate entry for key 'PRIMARY'

    ALTER TABLE table1 ADD COLUMN column1 VARCHAR(400) DEFAULT NULL; ERROR 1062 (23000): Duplicate entry ...