node.js初识和npm包详细讲解

nodejs概念

nodejs 是运行于服务端的js, 是事件驱动I/O; 集成谷歌的V8引擎

nodejs开发服务端

nodejs的模块 模块的导入和导出 使用CommonJs 规范

  1. 内置模块(nodejs 原生提供)可以直接使用

  2. 第三方模块 (需要先下载安装然后使用)

  3. 自定义模块 (类似于es6的模块,需要定义模块, 进行模块的导入和导出)

模块的导出导入

模块的导入: 最终都是这个方法require()

  • 1、 导入内置模块

             const http = require('http')
    
  • 2、 导入第三方模块

             npm install 模块名 --save 
             const 变量名 = require('模块名')   变量名尽量和模块名保持一致
    
  • 3、 导入自定义模块

             定义模块
                 3-1. 通过 module.exports = {} 导出模块(一个文件中只能有一个)
                 3-2. 通过 exports.key = value 导出模块(一个文件中可以有多个)
             引入模块
                 const 变量名 = require('./模块文件名')
    

自定义的·模块·需要·注意引入时
const 变量名 = require(’./模块文件名’)

实际操作下导出导入

导出模块:需要输出hello world

文件名a.js
// function fun(){
//     console.log('hello world');
    
// }
//  导出的是一个对象  两种导出方式不能共存
//  module.exports  一个文件中只能有一个
// module.exports = {
//     fun
// }


//  导出模块   exports 一个文件中可以有多个
// exports.fun = fun;

导入模块

//方式1 const fun = require('./a.js')
//  console.log(fun);这里输出是一个函数,不对
//  fun.fun();这样写
我们也可以解构下,这样写
// const {fun} = require('./a.js')
// fun()


方式2   const f = require('./a')
console.log(f);这里仍然输出一个函数,不对的
f.fun()   这样就输出hello world

requier和import的区别-链接

npm包详细讲解

第三方模块需要下载插件,才可以使用
比如mysql 模块 数据库使用
body-parse模块 解析post请求体中的的客户端参数

npm安装包
全局安装 -g : 在整个电脑中都可使用
npm install 包名 -g

局部安装(本地安装)
npm install 包名
npm install 包名 @next 下载最新的版本

package.json文件的生成简单方法 npm init -y
注意:当使用这种方法生成的时候,name的名字就是你运行命令行的名字,所以不能为中文

添加到依赖 (常用的方式) 前提条件是 必须存在 package.json 文件
npm install 包名 --save
npm install 包名 --save-dev

在这里插入图片描述

在这里插入图片描述
后期只需要 package.json 文件和相关的主要文件即可,安装依赖
npm install 安装所有的包(会自动从package.json 文件中查找所有的包
package.json文件是管理包的文件,里面展示的的文件名在node_modules里面有对应的包源文件,所以node_modules可以删除,)
在这里插入图片描述
需要知道所有的npm都能够用cnpm代替
在终端cmd上直接输入:npm install -g cnpm
安装好后:npm中所有命令都可以用cnpm来替代

dependencies和devDependencies(生产环境和开发环境)
在使用node开发时, 我们在工程中用到的包必须是package.json中列出。
而dependencies和devDependencies是package.json中的两个属性. 我们要用的包在这两个属性中列出即可.

dependencies列出的包用于生产环境.
devDependencies用于开发环境和测试环境.
- -save和- -save-dev
在安装包时, 我们可以根据环境决定包的安装效果. 假设我们要安装express

1.执行 npm i express --save则表示我想在生产环境中使用express, 同时, express的版本信息会被写入package.json中的dependencies属性中.

2.而执行npm i express --save-dev 表示我想在开发和测试环境中使用. express的版本信息会被写入package.json中的devDependencies属性中.

3--save可以简写为-S, --save-dev可以简写为-D.

4

npm install xxx: 安装项目到项目目录下,不会将模块依赖写入devDependencies或dependencies。

npm install -g xxx: -g的意思是将模块安装到全局,具体安装到磁盘哪个位置,要看 npm cinfig prefix的位置

npm install -save xxx:-save的意思是将模块安装到项目目录下,并在package文件的dependencies节点写入依赖。

npm install -save-dev xxx:-save-dev的意思是将模块安装到项目目录下,并在package文件的devDependencies节点写入依赖。

-save和-dev的讲解

二、–save -dev

  • –save:将保存配置信息到pacjage.json。默认为dependencies节点中。
  • –dev:将保存配置信息devDependencies节点中。

因此:

  • –save:将保存配置信息到pacjage.json的dependencies节点中。(生产)
  • –save-dev:将保存配置信息到pacjage.json的devDependencies节点中。(开发用)

dependencies:运行时的依赖,发布后,即生产环境下还需要用的模块

devDependencies:开发时的依赖。里面的模块是开发时用的,发布时用不到它。

安装nodemon 插件

nodejs 的热更新插件
全局安装: -g
1. npm i nodemon -g
安装成功后,使用命令
之前: node 文件名 执行文件
现在: nodemon 文件名 执行文件

关闭服务:
ctrl + c 终止服务


版权声明:本文为z18237613052原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。