Node.js(第三方模块和npm)

Node.js(第三方模块和npm)

模块

使用文件夹(自定义)

-app.js
-family
–module_a.js
–module_b.js
–module_c.js
–index.js

我们将module_a.js和module_b.js放入了一个叫做family的文件夹中,被index.js“统领”。
family/index.js

var module_a=require('./module_a.js');
var module_b=require('./module_b.js');
var module_c=require('./module_c.js');
exports.module_a=module_a;
exports.module_b=module_b;
exports.module_c=module_c;

app.js

let family=require('./family')
console.log(family.module_a.a);
console.log(family.module_b.b);

需要注意,当我们require()的时候,如果没有写.js后缀,此时nodejs将认为我们在引入一个文件夹,此时将会自动引入这个文件夹中的index.js文件。

// 也就是说
var jihe = require("./jihe");
等价于:
var jihe = require("./jihe/index.js");

修改入口文件

配置文件:

package.json

定义了这个项目所需要的各种模块,以及项目的配置信息(比如名称、

版本、许可证等元数据)

{
  "name": "family",
  "version": "1.0.0",
  "main": "app.js"
}

注意!./不能省!!

使用内置的node_modules 文件夹

-app.js
-node_modules
–family
—module_a.js
—module_b.js
—module_c.js
—index.js

app.js引用index.js文件的时候,此时require的特别漂亮!

let family=require('family')
console.log(family.module_a.a);

也就是说:

require的形式 引用的谁
require("./a.js") 同目录的a.js文件
require("./a") a文件夹中的index.js文件
require(“a”) node_modules文件夹中的a文件夹中的index.js文件
require(“a.js”) node_modules文件夹中的a.js

模块的概念

当一个js文件可以独立完成一个事情,这个js文件就是一个模块。
当一些js文件共同配合完成一个事情,这些js文件就是一个模块。

模块(module,不是model模型)是一个文件的功能性的、组织性的概念,不是物理性的概念。

juxing.js是一个模块,因为它可以独立完成关于矩形的所有计算。
yuan.js也是一个模块,因为它可以独立完成关于圆形的所有计算。

他们结合在一起,成为jihe文件夹,jihe又称一个新模块。

npm

官网:https://www.npmjs.com/
npm就是node package manager的意思
node包管理器。

在这里插入图片描述

依赖

dependencies:运行依赖jquery、vue、react(上线后依然需要 )

devDependencies:开发依赖 sass less(开发时方便,打包编译之后就无用了)

我们从npm上下载的node_modules文件夹称之为依赖。
此时我们可以用package.json文件管理这些依赖,我们称为项目的“身份证”。

我们在开发项目的时候,第一步就是创建一个项目的身份证。
npm init
就会显示一个调查问卷。将引导你创建这个身份证。

他会询问你包名字、版本、描述、入口文件、测试命令、git网址、关键词、作者、版权协议。
你回答一下,系统会猜测一些答案就是括号中的内容,直接按回车就是使用它。

系统会创建这个文件:
package.js

今后安装依赖的时候要加上–save后缀,比如:
npm install jquery–save
此时加上–save之后,我们身份证会自动在package.js文件更新一个依赖项

安装淘宝镜像

http://www.npmjs.org npm 包官网
https://npm.taobao.org/ 淘宝 npm 镜像官网

淘宝NPM镜像是一个完整npmjs.org镜像,你可以用此代替官方版本(只读),同步频

率目前为 10 分钟 一次以保证尽量与官方服务同步。

我们可以使用我们定制的 cnpm (gzip 压缩支持)命令行工具代替默认的 npm:

npm install -g cnpm --registry=https://registry.npm.taobao.org
发布了21 篇原创文章 · 获赞 0 · 访问量 94

猜你喜欢

转载自blog.csdn.net/weixin_45368324/article/details/105408914