【Node.js-2】自定义模块以及引用、自定义模块存放路径、发布升级自定义的模块
2017-08-05 07:58
405 查看
1、如果要引入自定义的模块,虽然可能在当前目录下,但是也需要注意路径,因为如果不加路径标识的话,很难分辨出来是引用的系统模块还是引用的当前目录里的模块,如下面这种,是分不清的:
——正确的写法是如下。当然如果不是在当前文件夹里,那么再更改相应的路径即可(注:引用的时候可以省略后缀)。
2、我们定义一个模块,其实最核心的是利用
然后在需要引用该模块的地方,这么使用即可:
——但是,这种模块里内容的输出要写很多个
3、我们都知道
——如果我们
——那么,有意思的就来了。我们利用
——答案是可以的。而且也应该这么做。这么做之后,还有一个很明显的好处,就是,我们引入的时候,就不需要考虑路径的问题了,直接使用:
4、发布模块。发布模块其实就是把代码上传到https://www.npmjs.com上。这个网站里面都是第三方包,类似于
——当然,我们需要一个账号,这个账号我们可以在官网直接注册,也可以通过命令
——注册完用户,当然就是利用这个用户上传了。那么你需要上传哪个代码,就进入到它所在的文件夹里,初始化一下,也就是
——我们要发布之前肯定要登录。在命令行里面就是
——然后,我们需要在这个文件夹里面创建一个
——发布之后,我们如果有升级版本怎么办?下载这 包,修改代码,然后把
var http = require('http'); var test = require('test.js');
——正确的写法是如下。当然如果不是在当前文件夹里,那么再更改相应的路径即可(注:引用的时候可以省略后缀)。
const t1 = require('./1.js');
2、我们定义一个模块,其实最核心的是利用
exports暴露出去,比如在
1.js里面:
exports.a = 11; exports.b = 22;
然后在需要引用该模块的地方,这么使用即可:
const t1 = require('./1.js'); console.log(t1.a,t1.b);
——但是,这种模块里内容的输出要写很多个
exports,有另一个方法是:
module.exports = { a:111, b:222 }
3、我们都知道
Node.js有一个包管理工具叫
npm,我们安装卸载一些包直接使用
node install xx或者
node uninstall xx。使用这个包下载安装的话,它下载到哪里呢?
——如果我们
cd到一个目录后,然后使用
node install xx安装的话,那么它就会下载到当前文件夹里,但是他会新建一个叫做
node_modules的文件夹,然后把下载的所有的都放在这个里面。我们使用的时候和引入系统模块一样样用。
——那么,有意思的就来了。我们利用
npm下载的都是第三方包,那么我们自己自定义的模块本质上也属于第三方包,那么我们把我们的那个文件比如
1.js可不可以也放到
node_modules里面?
——答案是可以的。而且也应该这么做。这么做之后,还有一个很明显的好处,就是,我们引入的时候,就不需要考虑路径的问题了,直接使用:
const t1 = require('1.js');
4、发布模块。发布模块其实就是把代码上传到https://www.npmjs.com上。这个网站里面都是第三方包,类似于
python的
PyPI。
——当然,我们需要一个账号,这个账号我们可以在官网直接注册,也可以通过命令
npm adduser来注册用户。
——注册完用户,当然就是利用这个用户上传了。那么你需要上传哪个代码,就进入到它所在的文件夹里,初始化一下,也就是
nppm init,其实初始化就是让你给这个包填写一些基本信息,比如名字、版本、作者等等,还有入口文件(默认是
index.js)等等。初始化之后,我们会在这个文件夹里面看到一个
package.json的文件,这里面就是一个字典,字典里面就是我们刚刚初始化填的哪些信息。
——我们要发布之前肯定要登录。在命令行里面就是
npm login。
——然后,我们需要在这个文件夹里面创建一个
index.js,写我们的模块。写完之后,就可以发布了。发布的命令就是
npm publish,发布之后可以撤销发布,就是
npm --force unpublish,当然撤销发布的时候比较麻烦,你得下载这个模块,下载之后在这个模块所在的文件夹路径里,使用撤销发布这个命令。至于撤销发布里面的细节我们这边不展开讲,比如发布超过一定时间就不能撤销等等。
——发布之后,我们如果有升级版本怎么办?下载这 包,修改代码,然后把
package.json里的版本值改一下,最后利用
npm update就可以发布升级包了。
相关文章推荐
- [快速掌握]Node.js模块封装及本地使用以及发布
- 如何发布一个自定义Node.js模块到NPM(详细步骤,附Git使用方法)
- Python编程-基础知识-python项目包和文件的管理以及如何引用相对路径的包和模块
- Node.js自定义模块的两种方式
- 关于vue.js发布后路径引用的问题解决
- 理解Node.js中间件以及Connect 模块
- Node.js自定义模块Calculate
- node.js认识学习二:__dirname获取当前模块文件所在目录的完整绝对路径
- 【JSP】关于jsp文件存放以及引用的路径问题
- 浅析 Node.js 的 vm 模块以及运行不信任代码
- vue.js 发布后路径引用问题
- node版本n模块升级的路径问题
- [转][自己打脸]Node.JS——NodeJS引用路径的小问题
- mac 系统下 sublime text2 出现Node.js 路径问题 以及解决方案
- Node.js模块全局安装路径配置
- Node.js学习笔记--引用模块、npm
- 理解Node.js中间件以及Connect 模块
- node.js中引用express-particals模块失败
- node.js创建并引用模块
- Node.js中路径处理模块path详解