ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

node.js (npm nrm yarn bower )

2020-03-10 21:06:00  阅读:299  来源: 互联网

标签:node npm nrm 包名 yarn js bower install


模块化 commonJS

commnJs 是一个我规范 主要为了js在后端的表现而制定

注意 :commonJS是nodejs默认模块管理方式 不支持es6的模块化管理方式 但是支持所有es6+语法

node.js 的模块主要分为三种 :
内置模块 node本身自带的模块
第三方模块 别人封装好的模块 需要用 (npm install -g 模块名)下载到项目中
自定义模块 自己封装的模块

  • 自定义模块

exports.自定义属性 = 值
批量输出 都是属性 可输出多次

// a.js 文件内容
let aa = 100;
let bb = 200;
exports.aa = aa;
exports.bb = bb;

//b.js文件内容 
let b = require("./a.js");
console.log(b) //结果如下
{ aa: 100, bb: 200 }

module.exports = 值
只输出一次

//a.js文件内容
let a = 10
let b = "bmw"
let fn = ()=>{
    console.log("函数")
}
class Person{
    constructor(){
        console.log("这是Person的构造函数")
    }
    show(){
        console.log("这是show方法...")
    }
}

module.exports = {
    a,b,fn,Person2:Person
}

//b.js文件内容
let a1 = require("./mod/b")
console.log(a1)//结果如下
{ a: 10, b: 'bmw', fn: [Function: fn], Person2: [Function: Person] }

npm

npm 包管理工具 node下载自带
作用 :安装及管理包

  • 安装到全局环境
安装   npm i 包名 -g 
写在  npm uninstall -g 
g : global 全局的意思
  • 安装到项目环境
  • 初始化项目环境
方法1
npm init  
需要 自己配置一些参数 
方法2 
npm init -y 
参数自动生成  但是目录名必须是英文 

初始化完成会生成两个文件
package.json 管理包的文件
package-lock.json 文件用来固化依赖

{
  "name": "npm",	//项目名称
  "version": "0.0.1",	//版本
  "description": "test and play",	//描述
  "main": "index.js", //入口文件
  "dependencies": {  //项目依赖  上线也要用
    "jquery": "^3.2.1"
  },
  "devDependencies": { //开发依赖 上线就不用
    "animate.css": "^3.5.2"
  },
  "scripts": {	//命令行
    "test": "命令行",
  },
  "repository": {	//仓库信息
    "type": "git",
    "url": "git+https://github.com/alexwa9.github.io/2017-8-28.git"
  },
  "keywords": [  //关键词
    "test",'xx','oo'
  ],
  "author": "wan9",
  "license": "ISC",	//认证
  "bugs": {
    "url": "https://github.com/alexwa9.github.io/2017-8-28/issues"//问题提交
  },
  "homepage": "https://github.com/alexwa9.github.io/2017-8-28#readme"//首页
}
  • 下载项目依赖包
    只能在当前项目使用 上线了也需要依赖 --save
//安装
npm i 包名 --save 
npm install 包名 -S 
npm install 包名@x.x.x -S

//卸载
npm uninstall 包名  --save
npm uninstall 包名  -S
  • 下载开发依赖包

在写项目的时候使用 项目上线就不需要了 --save-dev

npm install 包名 --save-dev
npm install 包名 -D
  • 查看包
npm list 列出所有已安装包 
npm outdated 版本对比(安装过的包)
npm info 包名  查看当前包的概要信息 
npm view 包名 versions 查看包历史版本列表
  • 安装所有依赖包
npm install   //安装package.json里面指定的所有包  
  • 版本约束
^x.x.x   约束主版本,后续找最新
~x.x.x   保持前两位不变,后续找最新
*		 装最新
x.x.x 	 定死了一个版本

选择源

安装选择镜像源的工具包 npm install nrm -g
查看所有源 nrm ls
测试所有源 nrm test
切换源 nrm use 源名

  • 安装卡顿的解决方法
ctrl + c -> npm uninstall 包名  ->  npm cache verify 清除缓存 -> 换4g网络 -> npm install 包名 

发布包

  • 在npm官网注册一个账户

  • 登录

    在命令行输入 npm login 登录
    然后一次输入 user/password/email

  • 创建包

    npm init -y

    创建入口文件 index.js

    编写输出
    举例如下 :

//sum.js文件
const sum = (a,b) => {
    return a + b
}

module.exports = sum;

//index.js 文件
const sum = require("./sum")
module.exports = {
    sum
}

//package.json文件
{
  "name": "gengwentuo",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "start": "nodemon index.js"
  },
  "keywords": [],
  "author": "",
  "license": "ISC"
}


  • 发布

npm publish
注意:要检查package.json文件name的值 在npm官网是否存在

  • 迭代

意思就是 你上传的包修改后
在发布时 要把package.json文件里面的版本号更改一下

  • 删除

npm unpublish

包的发布 迭代 删除 需要在包目录下进行
删除包 有时需要发送邮件

bower

  • 全局安装bower

bower i 包名 -g (安装)
bower uninstall 包名 -g (卸载)

  • 初始化项目环境

bower init
生成 bower.json 第三方包管理配置文件

  • 下载项目依赖

//安装
bower install 包名#x.x.x -S (指定版本使用#)
//卸载
bower uninstall 包名

  • 下载开发依赖

bower install 包名 -D

yarn

  • 建议去官网下载 yarn

  • 初始化项目

yarn init

  • 下载包
yarn add 包名
yarn add 包名@x.x.x -S //下载
yarn add 包名@x.x.x -D  // 
  • 删除包

yarn remove 包名

  • 安装项目的全部包
yarn  或者  yarn install 
  • 使用yarn安装全局
yarn gloabal add 包名
yarn gloabal remove 包名

标签:node,npm,nrm,包名,yarn,js,bower,install
来源: https://blog.csdn.net/weixin_44862325/article/details/104782889

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有