npm 入门使用

1. 什么是node.js:   可以在服务器运行的js开源代码


       使用谷歌的 V8引擎运行js代码,  使用事件驱动、非阻塞、异步IO,  Js是单线程的 
  node奇数版测试版、偶数稳定版本
  
   传统script引入js库问题:
  1.比如A依赖jqury, 首先引入A,在引入jquery出问题
  2.缺乏库管理系统
  
  CommonsJs为了解决上面带来问题而提出,一个Js文件就是一个模块
 
 新建一个node.js项目  结构:
     package.json    描述文件,json文件,相当于andrid项目gradle,json文件不能写注释
     lib             js代码
     doc             文档
     test            测试单元
     bin             可以执行二进制
  npm: Node包管理仓库,安装node自带npm
package.json认识:
  "name": "deng",         名字唯一 安装的时候必须指定(包名),这个一定注意唯一,相当于你你项目的包名
  "version": "1.0.0",     版本   // 别人依赖你的时候需要
  "description": "",      描述
  "main": "index.js",     入口文件

   "devDependencies": {   //  npm包依赖,相当于Android的 dependences
    "browserify": "^16.5.1"
  }

2. npm 基本命令:

  npm version: 查看版本
  npm search math: 查找
  npm init: 创建package.json
  npm install math: 安装 math
  npm remove 包名      :  删除包
  npm install 包名 --save: 安装包添加到依赖中,
  开发完毕以后直接上传自己的代码,依赖包不用上传,别人下载你的包以后可以根据package.json的依赖去下载包
  npm install 包名 -g: 安装工具,全局安装包
  
   npm服务器在外国,cnpm淘宝镜像,安装以后使用cnpm命令, cnpm 安装: 
   https://developer.aliyun.com/mirror/NPM?from=tnpm
 

3. npm练习、nodejs使用, commonJs练习

3.1.使用:新建index.js , 始化:npm init,  创建 package.json 文件 

{
  "name": "nodepackage",   // 包名
  "version": "1.0.0",      //  版本号
  "description": "",
  "main": "1.js",         // 程序入口文件
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC",
  "dependencies": {     // npm 下载依赖
    "math": "0.0.3"
  }
}

3.2.下载: npm install math --save

3.3 .index  Js中编写代码,程序依赖文件


// 为什么需要exports 暴露   才可以访问内部变量
// 这里相当于在一个闭包中(function(){}()),不暴露,无法访问
console.info("我是1.js");
var x=10;


// 同一一次性暴露
module.exports={
	name:"小置同学",
	age:18,
	sayName:function(){
		console.info("调用模块中的sayName()");
	}
}


// 暴露单个属性
module.exports.x= 19000;

// 在node中有一个全局对象global, 和window类似
// 如何申明全局变量:
 x1=100;
console.info(global.x1);

//console.info(arguments.callee+"")
/**
 * function (exports, require, module, __filename, __dirname){} 所有的代码会写在{}中
 * 
 * exports: 该对象用于把变量或者函数暴露到外部
 * require: 函数,英语引入外部模块
 * module: 表示当前模块本身,exports就是module的属性,可以使用 module.exports.x == exports.x
 * __filename:当前模块的完整路径
 * __dirname: 当前模块所在文件夹的完整路径
 */
//console.info("exports:",exports);
//console.info("require:",require);
//console.info("module:",module);
//console.info(__filename);
//console.info(__dirname);

3.4..程序入口 helloNode20101006.js 中 使用 index.js  



// 引入一个文件模块,用户创建,引入本地js  文件
var md = require("./1.js");

// 引入核心模块,nodeJs库提供的
var fs=  require("fs");

 // npm 安装网上 库直接 引来引入 
var math = require("math");  

console.info("md.x是:"+md.x);

 console.info("math add: "+math.add(4,5));

  md.sayName();
//console.info(fs);

4 .  项目运行    node helloNode20101006.js , 运行结果

我是1.js
100                //console.info(global.x1);
md.x是:19000    // console.info("md.x是:"+md.x);
math add: 9        //    console.info("math add: "+math.add(4,5));
调用模块中的sayName()   // md.sayName();

  
      
      

  
  
  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值