码迷,mamicode.com
首页 > 其他好文 > 详细

如何开发NPM包

时间:2018-10-11 22:04:36      阅读:179      评论:0      收藏:0      [点我收藏+]

标签:init   function   modules   测试   16px   执行   err   info   命令   

创建包目录

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.0.tgz

此时会在mypackage目录下生成mypackage-1.0.0.tgz文件

然后到mypackage_test目录下执行命令

D:\mypackage_test>npm install D:\mypackage\mypackage-1.0.0.tgz

 

发布

你需要拥有npm账号,使用npm publish命令,这里不再多讲了,很少用到

 

如何开发NPM包

标签:init   function   modules   测试   16px   执行   err   info   命令   

原文地址:https://www.cnblogs.com/xclw/p/9774793.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!