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 提供了命令行工具,使你可以方便地下载.安装.升级. ...
随机推荐
- encodeURI()和encodeURIcomponent()的共同点和不同点
共同点: 1.encodeURI和encodeURIcomponent都是Global对象, Global对象在某种意义上是违一个终极的兜底对象,换句话说,不属于任何其他对象的属性和方法,最终都是她的 ...
- Okhttp之RealConnection建立链接简单分析
在之前的博客中我们知道Okhttp在发起链接请求先从链接池中获取连接,如果链接池中没有链接则创建新的链接RealConnection对象,然后执行其connet方法打开SOCKET链接(详见< ...
- iOS - 正则表达式判断邮箱、身份证,车牌,URL等..是否正确:
//邮箱 + (BOOL) validateEmail:(NSString *)email { NSString *emailRegex = @"[A-Z0-9a-z._%+-]+@[A-Z ...
- 如何看待 Kotlin 成为 Android 官方支持开发语言?
Google IO 2017宣布了 Kotlin 会成为 Android 官方开发语言.一时间朋友圈和Android圈被各种刷屏.当然我也顺势而为发布了一篇的文章<为什么我要改用Kotlin&g ...
- matlab load
参考文献:http://jingyan.baidu.com/article/fec4bce2257963f2618d8bfa.html 对应save,load 命令更加简单. load的方式有三种: ...
- BZOJ4399 魔法少女LJJ【线段树合并】【并查集】
Description 在森林中见过会动的树,在沙漠中见过会动的仙人掌过后,魔法少女LJJ已经觉得自己见过世界上的所有稀奇古怪的事情了 LJJ感叹道"这里真是个迷人的绿色世界,空气清新.淡雅 ...
- LOJ2424 NOIP2015 子串 【DP】*
LOJ2424 NOIP2015 子串 LINK 题目大意是给你两个序列,在a序列中选出k段不重叠的子串组成b序列,问方案数 首先我们不考虑相邻的两段,把所有相邻段当成一段进行计算 然后设dpi,j, ...
- Spark执行样例报警告:WARN scheduler.TaskSchedulerImpl: Initial job has not accepted any resources
搭建Spark环境后,调测Spark样例时,出现下面的错误:WARN scheduler.TaskSchedulerImpl: Initial job has not accepted any res ...
- 《DSP using MATLAB》示例Example 6.27
代码: % r = 0.9; theta = (pi/180)*[-55:5:-35, 35:5:55]'; p = r*exp(j*theta); a = poly(p); b = 1; w = [ ...
- input type = number 去除上下箭头,禁用滚轮事件(默认的自带滚轮加减数字)
<style type="text/css"> /*盒子大小从边框开始计算*/ html * { box-sizing: border-box; } /*解决模态框抖动 ...