nodejs-Module
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的更多相关文章
- nodejs module/require
1. wrap up a module using module.exports, name the file to a.js var fun1=function(){ var stylus = re ...
- nodejs . module.exports
//utils.js let a = 100; console.log(module.exports); //能打印出结果为:{} console.log(exports); //能打印出结果为:{} ...
- ES6的export与Nodejs的module.exports
原文:https://www.cnblogs.com/lxg0/p/7774094.html module.exports与exports,export与export default之间的关系和区别 ...
- RESTful API Design With NodeJS & Restify
http://code.tutsplus.com/tutorials/restful-api-design-with-nodejs-restify--cms-22637 The RESTful API ...
- Nodejs的模块系统以及require的机制
一.简介 Nodejs 有一个简单的模块加载系统.在 Nodejs 中,文件和模块是一一对应的(每个文件被视为一个独立的模块),这个文件可能是 JavaScript 代码,JSON 或者编译过的C/C ...
- module、export、require、import的使用
module 每个文件就是一个模块.文件内定义的变量.函数等等都是在自己的作用域内,都是自身所私有的,对其它文件不可见. 每个文件内部都有一个module对象,它包含以下属性 id: 模块的识别符,通 ...
- exports与module.exports,export与export default 之间的关系和区别
首先我们要明白一个前提,CommonJS模块规范和ES6模块规范完全是两种不同的概念. CommonJS模块规范 Node应用由模块组成,采用CommonJS模块规范. 根据这个规范,每个文件就是一个 ...
- 【NodeJS】基础知识
nodejs基础 nodejs允许自己封装模块,使得编写程序可以模块化,便于维护整理.在一个js文件中写完封装的函数或对象后,可以使用exports或module.exports来将模块中的函数暴露给 ...
- module.exports与exports,export与export default之间的关系和区别
首先我们要明白一个前提,CommonJS模块规范和ES6模块规范完全是两种不同的概念. CommonJS模块规范 Node应用由模块组成,采用CommonJS模块规范. 根据这个规范,每个文件就是一个 ...
- module.exports 与 exports
module.exports 与 exports 注意:1 对于要导出的属性,可以简单直接挂到 exports 对象上2 对于类,为了直接使导出的内容作为类的构造器可以让调用者使用 new 操作符创建 ...
随机推荐
- Cocos2d-x3.3beta0创建动画的3种方式
1.单独载入精灵对象 渲染效率低,浪费资源,不推荐用该方法.代码例如以下:注:代码仅仅需贴到HelloWorldScene.cpp中就可以. //First,单独渲染每个精灵帧 auto sprite ...
- luogu4011 孤岛营救问题 分层图
关键词:分层图 状态压缩 最短路径 分层图:现在要求从起点到终点的最优路线,但受到手里拿着哪些钥匙的影响,最优路线不单纯了.因此,决定一个节点.一条边的存在的数中应当增加一个手中拿有钥匙的状态.这样就 ...
- element-UI中table表格的@row-click事件和@selection-change耦合了
<el-table ref="multipleTable" :data="tableData" tooltip-effect="dark&quo ...
- 寒武纪芯片——有自己的SDK,支持tf、caffe、MXNet
寒武纪芯片 产品中心>智能处理器IP 智能处理器IP MLU智能芯片 软件开发环境 Cambricon-1A 高性能硬件架构及软件支持兼容Caffe.Tensorflow.MXnet等主流AI开 ...
- js设计模式-桥接模式
桥接模式定义:桥梁模式的用意是"将抽象化(Abstraction)与实现化(Implementation)脱耦,使得二者可以独立地变化".这句话有三个关键词,也就是抽象化.实现化和 ...
- 记录,javascript中对象的属性名是字符串,却可以不用引号
问题描述:今日看书,里面介绍js的对象的属性名是包括空字符串在内的所以字符串 问题来了,我们平时定义的对象如下,是没有引号""or’'的 var someone = { f ...
- golang二维码
package main import ( "github.com/boombuler/barcode" "github.com/boombuler/barcode/qr ...
- HBase编程 API入门系列之scan(客户端而言)(5)
心得,写在前面的话,也许,中间会要多次执行,连接超时,多试试就好了. package zhouls.bigdata.HbaseProject.Test1; import javax.xml.trans ...
- 解决Android单个dex文件不能超过65535个方法问题
一.找坑:谷歌规定单个dex文件中的方法不能超过65536的限制 我们编写项目过程中在工程的lib文件夹下引用的第三方插件jar包太多或者项目过大,编译运行时就有可能报出com.android.dex ...
- ERROR 1062 (23000): Duplicate entry for key 'PRIMARY'
ALTER TABLE table1 ADD COLUMN column1 VARCHAR(400) DEFAULT NULL; ERROR 1062 (23000): Duplicate entry ...