Node.js中的包管理

240 阅读3分钟

一、NPM简略介绍

1. npm -v、npm version

查看NPM安装的版本

2. npm init

通过该命令可以生成一个package.jsonwenjian文件。这个文件是整个项目的描述文件。 通过这个文件可以清楚地知道项目的包依赖关系、版本、作者信息等。每个NPM包都有自己的package.json文件。

3.npm install

通过该命令安装包。在安装包的时候在该命令后添加 --save或-S参数,这样安装包的信息将会记录在package.json文件的 dependencies 字段中,这样可以很方便地管理包的依赖关系。
如果这个包只是在开发阶段需要的,可以继续添加 -dev参数,这样安装包的信息将会记录在package.json文件的 devDependencies 字段中。

4.package.json文件

该文件是提供包描述的文件。在Node.js中,一个包是一个文件夹,文件夹中的package.json文件以json格式存储该包的相关描述。
文件中所有字段的说明: docs.npmjs.com/cli/v7/conf…

二、模块加载原理与加载方式

1.require 导入模块

Node.js中的模块可以分为原声模块和文件模块。在Node.js中可以通过 require 方法导入模块、exports 方法导出模块。 对于原声模块(如 http),只需要使用 require('http')导入这个模块并将其赋值给一个变量,即可使用这个模块导出的属性、方法(即函数)。

对于文件模块,可以使用 “./” 前缀来指代当前路径,从而使用相对路径来加载模块。加载模块时,可以省略.js扩展名。例如,在同级的文件夹node中有一个名为 myModule.js的文件模块,可以这样导入:

const myModule = require('./node/myModule');

在 node_modules 文件夹的同级目录可以这样加载:

const underscore = require('./underscore');

这是因为 Node.js 内部会自动查找加载 node_modules 文件夹下的模块。

2.exports 导出模块

一个模块中的变量和方法只能用于这个模块,如果想要与其他模块共享一些方法、属性等,就可以用 exports 导出一个对象,这个对象可以包含想要与其他模块共享的方法和属性等。

#require引入文件与import引入文件之间的区别

1、遵循规范
  requireAMD规范引入方式
  import是es6的一个语法标准,如果要兼容浏览器的话必须转化成es5的语法
2、调用时间
  require是运行时调用,所以require理论上可以运用在代码的任何地方
  import是编译时调用,所以必须放在文件开头
3、本质
  require是赋值过程,其实require的结果就是对象、数字、字符串、函数等,再把require的结果赋值给某个变量
  import是解构过程,但是目前所有的引擎都还没有实现import,我们在node中使用babel支持ES6,也仅仅是将ES6转码为ES5再执行,import语法会被转码为require

链接:https://www.jianshu.com/p/0fb49a748f80

import使用方法
www.jb51.net/article/180…