node的模块管理
/*
*一:从node_modules目录中加载模块;
* 向这样的写法:
* require("aa.js")
* 则node将aa.js文件视为node_modules目录下的一个文件
* 如果aa.js文件的绝对路径是这样的:e:node\item\item1\gys\node_modules\aa.js
* 在gys文件夹下有app.js,和node_modules是同一级
* */
//aa.js文件中的代码
var name="guoyansi";
function setname(n){
name=n;
}
function getname(){
return name;
}
exports.getname=getname;
exports.setname=setname;
//app.js代码:
var aa=require("aa.js");
console.log(aa.getname());
aa.setname("思思博士");
console.log(aa.getname());
/*结果是:
*guoyansi
* 思思博士
*/
/*
* 他的搜索过程是这样的.
* \node\item\item1\gys\node_modules\aa.js
* \node\item\item1\node_modules\aa.js
* \node\item\node_modules\aa.js
* \node\node_modules\aa.js
* node_modules\aa.js
* */
//如果这些路径都找不到指定的文件,那么会抛出异常 /*
* 二:使用目录来管理模块
* 在node中,可以将目录名指定为模块名,以便可以通过目录来管理模块,只需要为该目录指定一个入口点.
* 在node-modules子目录中创建foo文件夹,在foo中创建index.js文件,当使用如下代码时,将会自动加载index.js模块
* var index=require("foo");
* 现在不想让加载的文件名叫index.js,叫myFile.js
* 在执行的话 就会出现异常
* 可以这样写;
*在foo文件夹中添加package.json文件
* 代码这样
* {
* "main":"./myFile.js"
* }
* 这样执行的效果和上面是一样的
* */ /*
* 从全局目录中加载模块
* 如果在操作系统的环境中设置了NODE_PATH变量,并将变量值设置为一个有效的磁盘目录,当你在require函数中只指定模块名,而没有指定模块文件的路径,而且node.js从其他路径中寻找不到需要被加载的模块文件时,node将从node_path变量所指定的磁盘目录中寻找并加载该模块文件.
* */
node的模块管理的更多相关文章
- Node.js的安装以及Node.js的模块管理
		
索引: Node.js的安装以及Node.js的模块管理Node.js开发环境搭建以及对ES6的支持Node.js构建Vue.js项目Vue.js单文件组件的开发基于Vue.js的UI组件(Eleme ...
 - (转)在Windows平台上安装Node.js及NPM模块管理
		
本文转载自:http://www.cnblogs.com/seanlv/archive/2011/11/22/2258716.html 之前9月份的时候我写了一篇关于如何在Windows平台上手工管理 ...
 - 每天记录一点:NetCore获得配置文件 appsettings.json  vue-router页面传值及接收值    详解webpack + vue + node 打造单页面(入门篇)    30分钟手把手教你学webpack实战   vue.js+webpack模块管理及组件开发
		
每天记录一点:NetCore获得配置文件 appsettings.json 用NetCore做项目如果用EF ORM在网上有很多的配置连接字符串,读取以及使用方法 由于很多朋友用的其他ORM如S ...
 - 使用yarn代替npm作为node.js的模块管理器
		
使用yarn代替npm作为node.js的模块管理器 转 https://www.jianshu.com/p/bfe96f89da0e Fast, reliable, and secure d ...
 - [Web 前端]    使用yarn代替npm作为node.js的模块管理器
		
cp from : https://www.jianshu.com/p/bfe96f89da0e Fast, reliable, and secure dependency managemen ...
 - 深入浅出node(2) 模块机制
		
这部分主要总结深入浅出Node.js的第二章 一)CommonJs 1.1CommonJs模块定义 二)Node的模块实现 2.1模块分类 2.2 路径分析和文件定位 2.2.1 路径分析 2.2.2 ...
 - Node.js模块
		
每一个Node.js都是一个Node.js模块,包括JavaScript文件(.js).JSON文本文件(.json)和二进制模块文件(.node). mymodul.js function Hell ...
 - Webpack: 为Web开发而生的模块管理器[转]
		
Webpack: 为Web开发而生的模块管理器 原文地址:http://hanjianwei.com/2014/09/10/webpack-package-manager-for-web/ 10 Se ...
 - npm模块管理器入门
		
什么是 NPM npm 是 Node 官方提供的包管理工具,他已经成了 Node 包的标准发布平台,用于 Node 包的发布.传播.依赖控制.npm 提供了命令行工具,使你可以方便地下载.安装.升级. ...
 
随机推荐
- 手机微信网站开发放弃windows phone的理由
			
1.手机操作系统市场份额: 全球(2.44% 下滑): http://news.mydrivers.com/1/449/449736.htm 中国(1% 下滑): http://app.techweb ...
 - SpreadJS 在 Angular2 中支持绑定哪些属性?
			
SpreadJS 纯前端表格控件是基于 HTML5 的 JavaScript 电子表格和网格功能控件,提供了完备的公式引擎.排序.过滤.输入控件.数据可视化.Excel 导入/导出等功能,适用于 .N ...
 - boost::function和boost:bind取代虚函数
			
以boost::function和boost:bind取代虚函数 这是一篇比较情绪化的blog,中心思想是"继承就像一条贼船,上去就下不来了",而借助boost::function ...
 - 【pandas】生日转年龄
			
数据挖掘比赛中,获得的数据中可能有个人的生日,在数据分析中并不需要生日,而是需要年龄.不同年龄会呈现不同的状态,比如收入.健康.居住条件等,年龄能够很好的把不同样本的差异性进行大范围的划分.下面讲述如 ...
 - 网站部署,网站要求需要支持mb_substring
			
如果没有这个函数,php可能会出现中文乱码,处理方法如下: # yum install php-mbstring //安装 之后在/etc/php.ini中添加extension=mbstring ...
 - 一次Mysql连接池卡死导致服务无响应问题分析(.Net Mysql.Data 6.9.9)
			
问题: 进程启动后,线程数迅速上升至最小线程数后,缓慢上升(线程池限制)到数千,然后由于线程过多,CPU飙升到90%. 对外表现为Api无响应或连接超时. 背景 有些数据存在于另一个机房,通过内网专线 ...
 - 每天一个linux命令(文件操作):【转载】which命令
			
我们经常在linux要查找某个文件,但不知道放在哪里了,可以使用下面的一些命令来搜索: which 查看可执行文件的位置. whereis 查看文件的位置. ...
 - WebStorm的主题与设置
			
1. Webstorm主题风格选择 2. Webstorm字体字号配置 3. Webstorm快捷键的查找 4. Webstorm插件的安装
 - 深入了解 WPF Dispatcher 的工作原理(Invoke/InvokeAsync 部分)
			
深耕 WPF 开发的各位程序员大大们一定避不开使用 Dispatcher.跨线程访问 UI 当然免不了用到它,将某个任务延迟到当前任务之后执行也会用到它.Dispatcher.Invoke.Dispa ...
 - iOS 修改通讯录联系人地址(address)崩溃原因分析
			
目前项目中需要对iOS系统通讯录进行读取,修改操作.在进行对地址修改的时候,出现了一个奇怪现象: ● 如果contact没有address字段(或者一个全新的contact),对它的address进行 ...