概述
npm
npm是 JavaScript 世界的包管理工具,并且是 Node.js 平台的默认包管理工具。通过 npm 可以安装、共享、分发代码,管理项目依赖关系。
- 允许用户从NPM服务器下载别人编写的第三方包到本地使用。
- 允许用户从NPM服务器下载并安装别人编写的命令行程序到本地使用。
- 允许用户将自己编写的包或命令行程序上传到NPM服务器供别人使用。
查看 npm 版本
npm -v
安装模块
npm install ModuleName 例: npm install jquery
查看 npm 版本
npm uninstall moudleName 例:npm uninstall jquery
查看模块的版本
npm info moudleName 例:npm info jquery
查看当前目录下已安装的 node 包
npm list
package.json
package.json 定义了这个项目所需要的各种模块,以及项目的配置信息
创建 package.json
npm init
npm init –yes
package.json 文件
{
“name”: “03npm”,
“version”: “1.0.0”,
“description”: “”,
“main”: “01test.js”,
“author”: “”,
“license”: “ISC”,
“dependencies”: {
“jquery”: “^3.3.1”
}
}
安装模块并把模块写入 package.json(依赖)
npm install 模块 --save
npm install 模块 --save-dev
dependencies 与 devDependencies 之间的区别?
使用 npm install node_module –save 自动更新 dependencies 字段值;
使用 npm install node_module –save-dev 自动更新 devDependencies 字段值;
dependencie 配置当前程序所依赖的其他包。
devDependencie 配置当前程序所依赖的其他包,只会下载模块,而不下载这些模块的测试和文档框架
“dependencies”: {
“jquery”: “^3.3.1”
}
^ 表示第一位版本号不变,后面两位取最新的
~ 表示前两位不变,最后一个取最新 的
*表示全部取最新的
commonJs
- 1、我们可以把公共的功能抽离成为一个单独的JS文件作为一个模块, 默认情况下,这个模块里的方法过着属性,外部无法访问, 若要访问,则在模块里通过 exports 或者 module.exports 暴露属性或者方法。
- 2、在需要使用模块的文件中,通过 require 的方式引入该模块, 就可使用该模块里暴露的属性和方法
commonjs.js
var obj = {
get:() => {
console.log('获取数据');
},
post:() => {
console.log('提交数据');
}
}
/**
* const common = require('./ commonjs')
* 向外暴露的写法(两种)
* 1、exports.xxx = obj; // console.log(common); { xxx: { get: [Function: get], post: [Function: post] } }
* 2、module.exports = obj; // console.log(common); { get: [Function: get], post: [Function: post] }
*/
module.exports = obj;
exports.get = () => {
console.log('获取数据'); /* common.get(); 获取数据 */
}
// nodejs 会默认找 node_modules 对应模块的index.js 可直接写文件夹的名字
const axios = require('axios');
axios.get();
/**
* 若不是index.js 则会报错 Error: Cannot find module 'db'
* 当前目录下npm init --yes 要配置 package.json 方可使用
*/
const db = require('db');
db.post();
// 第一次加载某个模块时,Node.js 会缓存该模块。以后再加载该模块,就直接从缓存取出该模块的 module.exports 属性返回了。
const a = require('axios');
console.log(a.name); // 小豆花
a.name = '小小花';
// 第二次 require 模块时,并没有重新加载并执行模块。而是直接返回了第一次 require 时的结果,
const b = require('axios');
console.log(b.name); // 小小花
最后
以上就是忧虑导师为你收集整理的Node.js学习笔记(二)(npm、package.json、commonJs)的全部内容,希望文章能够帮你解决Node.js学习笔记(二)(npm、package.json、commonJs)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复