nodejs导入模块

参考:https://www.jmjc.tech/less/114

  • 简介:

NodeJs,一个文件就是一个模块。

Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,V8引擎执行Javascript的速度非常快,性能非常好。

Node.js 诞生于 2009年,是一个基于 JavaScript 语言和 Google V8 引擎 开源的 Web 服务器项目,它让 JavaScript 第一次脱离了浏览器独立存在。

Node.js 被发明是用于解决服务器的 性能 问题,弥补 C++ 这一方面的一些繁琐。借助 JavaScript 天生异步事件驱动的特性和 V8 高性能引擎,加上市场已经有无数的 JS 语言使用者,所有在推出市场不久就非常的火爆。

发展到今天,Node 的性能依然是不错的,但可能已经不是它的主要卖点。PHP、Java 这些老牌的 Web 语言都在进步,后起之秀 Golang 也渐渐占领高性能服务器领域。所有它现在的卖点是 全栈,没错,学会了 Node.js 我们的前后端能统一使用一种语言开发,一个小的项目,用这种模式开发效率是非常高的,而且通用的语法让它的性价比变得非常的高,实在让人很难拒绝。

  • NPM

在开始写代码之前,我们还需要了解另外一个工具 npm,它是 Node.js 的包管理器,类似 Python 的 pip,是一个帮助我们从网络中下载 Node模块 到本地环境的工具。

npm 并不需要独立安装,它在 node 安装的时候已经附带。

$ npm -v
6.14.8
  • 初始化

在使用 npm 安装模块之前,需要进行初始化,我们建立一个项目工程 test,进入项目目录,然后运行 npm init 填写配置信息。如果成功, test 目录会多出一个 package.json 文件,它是 项目的配置文件,由 npm 管理控制。

  •  安装模块

我们运行这条命令 npm install jquery,尝试安装一个模块。之后会多出一个 node_modules,存放了我们刚刚安装的 jquery

  • 指令

npm 的更多用法。

// 安装
npm install module // 安装模块到当前工程目录
npm install module -g // 全局安装

// 查找
npm ls module // 查找当前工程目录是否安装某模块
npm ls module -g // 全局查找

// 卸载
npm uninstall module

// 更新
npm update module

 

  • cnpm

由于国内的网络问题,使用 npm 下载模块有时会非常的慢。cnpm 是淘宝提供的一个 npm 镜像,用法和 npm 一样。

npm install -g cnpm // 安装
cnpm i ...
  • .npmrc

另一种种提升下载速度的办法,可以设置代理,通过 ~/.npmrc 文件。

registry=https://registry.npm.taobao.org/
disturl=https://npm.taobao.org/dist

 

  • 引用模块:

  • 例子:

Node会依次在内置模块、全局模块和当前模块下查找 。没写 "./" 目录可能会出错

录如下:

$ tree
.
|-- src
|   |-- MyEntry.js
|   `-- people
|       |-- family
|       |   `-- family.js
|       |-- man
|       |   `-- son.js
|       `-- woman
|           `-- daughter.js
`-- tsconfig.json

5 directories, 5 files

son.js

module.exports = {
    showInfo:function(name,age){
        
        console.log("son::showInfo: ",name,", ",age);
    },
    showName:function(name){
        console.log("son::showName ",name);
    }
}

daughter.js

module.exports = {
    showInfo:function(name,age){
        console.log("daughter::showInfo",name,", ",age);
    }
};

family.js

var son = require("../man/son");
var daughter = require("../woman/daughter");
module.exports = {
    son: son,
    showInfo: function () {
        son.showInfo("jim", 9);
        daughter.showInfo("marry", 13);
    }
};

MyEntry.js

var family = require("./people/family/family");

family.showInfo();
family.son.showInfo("jj", 33);

显示结果:

$ node src/MyEntry.js
son::showInfo:  jim ,  9
daughter::showInfo marry ,  13
son::showInfo:  jj ,  33
  • HTTP 模块

我们知道,Node.js 的应用场景是 高性能服务器,而这一切的工作都是基于 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值