如何开发NPM包
创建包目录
D:\>mkdir mypackage && cd mypackage
D:\mypackage>npm init --yes
进入mypackage目录,你会看到一个package.json文件,其内容如下:
{
"name": "mypackage",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC"
}
其中"main"指向了你的包的入口点,当别人使用你的模块时require("mypackage"),实际返回的是"main"指向的"index.js"文件中的module exports
完成包功能
在mypackage目录下创建index.js文件,并添加如下内容:
"use strict"; module.exports = function sum(a, b) {
return a+b;
}
包的内容很简单,就是完成一个加法运算
测试
新建一个项目mypackage_test用于测试
D:\>mkdir mypackage_test && cd mypackage_test D:\mypackage_test>npm init --yes
(划重点)在测试阶段,如何不用每次改动都重新编译并发布到NPM
方法1:绝对路径引用
D:\mypackage_test>npm install D:/mypackage
此时查看package.json,其内容如下(注意粗体部分):
{
"name": "mypackage_test",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"mypackage": "file:../mypackage"
}
}
此时再到node_modules目录下查看,目录结构如下
方法2:使用“npm link”
D:\mypackage>npm link
D:\mypackage_test>npm link mypackage
此时再到node_modules目录下去验证
方法3:
D:\mypackage>npm pack
mypackage-1.0..tgz
此时会在mypackage目录下生成mypackage-1.0.0.tgz文件
然后到mypackage_test目录下执行命令
D:\mypackage_test>npm install D:\mypackage\mypackage-1.0..tgz
发布
你需要拥有npm账号,使用npm publish命令,这里不再多讲了,很少用到
如何开发NPM包的更多相关文章
- 从零系列--开发npm包(一)
一.目的 主要是纪录和回顾自己开发的一些步骤以及遇到的一些问题和解决方案 二.准备工作 1.IDE 选择 VS Code 2.安装node 环境 (https://nodejs.org/zh-cn/) ...
- node.js开发 npm包管理工具 npm 和 cnpm区别
npm 允许用户从NPM服务器下载别人编写的第三方包到本地使用. 允许用户从NPM服务器下载并安装别人编写的命令行程序到本地使用. 允许用户将自己编写的包或命令行程序上传到NPM服务器供别人使用 np ...
- node.js开发 npm包管理工具
npm介绍 说明:npm(node package manager)是nodejs的包管理器,用于node插件管理(包括安装.卸载.管理依赖等) 使用npm安装插件:命令提示符执行npm instal ...
- 从零系列--开发npm包(二)
一.利用shell简化组合命令 set -e CVERSION=$(git tag | ) echo "current version:$CVERSION" echo " ...
- 记npm包开发全过程
概述 为什么开发npm包? 如何开发? 如何写单元测试? package.json 如何发布模块? 如何使用? 为什么开发npm模块? NPM的全称是Node Package Manager,是一个N ...
- 在2018年如何优雅的开发一个typescript语言的npm包?
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由小明plus发表 很多时候,我们可能想要用 typescript 语言来创建一些模块,并提交到 npm 供别人使用, 那么在 2018 ...
- 如何开发一个npm包并发布
一.安装nodejs 不多说了,网上教程多得是 二.创建自己的npm包 目录结构 npm-test a.js b.js package.json 开发 为了简单便于理解,就开发一个简单地hello程序 ...
- npm包开发与发布
把通用的功能开发成npm包,便用使用和维护,更重要的是可以分享给广大的开发者,是不是很激动人心! 那么,步骤如下: 1.创建项目 创建项目目录,npm init ,根据需要输入配置信息(建完后也可以在 ...
- Angular 开发NPM第三方包
步骤: 创建第三方包 > 开发第三方包 > 测试第三方包 > 发布第三方包 > 使用第三方包 实例: 第一步:创建第三方包;; (创建项目,项目下创建第三方库) 1. 新建项目 ...
随机推荐
- js转盘大抽奖 自定义概率
公司项目搞优惠活动,让做一个转盘抽奖的活动,转盘抽奖让他转起来 按照概率停止其实都麻烦,但是概率如果设置在前端就会很大的安全漏洞,所以无论为了安全性还是后期的维护问题都要把概率写到后台配置里然后读取配 ...
- 小程序 新建项目底部tabbar
在app.json中配置 { "pages": [ "pages/index/index", "pages/staging/staging" ...
- C++之标准库vector
目录 1.成员函数 2.元素访问 3.迭代器iterator 4.容量capacity 5.修改函数 std::vector是一个封装动态数组的序列容器 std::pmr::vector是一个使用多态 ...
- impdp导入dmp数据实例
--创建表空间 create tablespace ALIX datafile 'F:\File\ALIX.ora' size 1000m; --创建数据库目录 create directory ex ...
- bootstrap-editable实现bootstrap-table行内编辑
bootstrap-editable行内编辑效果如下: 需要引入插件 列初始化代码,为可编辑的列添加editable属性: columns = [ { title: '文件名', field: 'Na ...
- Sed练习
sed:编辑器 sed:Stream EDitor,行编辑器 用法: sed [opthon]... ‘script’ inputfile.. scritp:‘地址命令’ 常用选项: ...
- chrome google plugins
Advanced REST client Axure RP Extension for Chrome Charset Chrono下载管理器 Code Cola CSS Sprite Gen ...
- 6种纯css实现loading效果
1. <div id="loadingWrap1"> <span></span> <span></span> <s ...
- css给html添加效果
<!doctype html> <html> <head> <title>EasyMall注册界面</title> <meta htt ...
- GDAL——命令使用专题——ogrinfo命令
GDAL——命令使用专题——ogrinfo命令 前言 GDAL(Geospatial Data Abstraction Library)是一个在X/MIT许可协议下的开源栅格空间数据转换库.它利用抽象 ...