zoukankan      html  css  js  c++  java
  • nj06---包

    二、创建包
    1.包的概念
    包是在模块基础上更深一步的抽象,Node.js的包类似于C/C++的函数库或者java的类库,它讲某个独立的功能封装起来,用于发布、更新、依赖管理的版本控制。开发了npm来解决包的发布和获取需求。
    
    2.如何创建一个包
    CommonJS规范的包应该具备一下特征:
        package.json必须在包的顶层目录下
        二进制文件应该在bin目录下
        javaScript代码应该在lib目录下
        文档应该在doc目录下
        单元测试应该在test目录下
    Node.js对包要求并没有那么严格,只要顶层目录下有package.json,并符合基本规范即可
    (1)作为文件夹的模块
    somepackage文件夹
    最简单的包,就是一个作为文件夹的模块,
    创建一个文件夹 somepackage,里面有一个index.js,里面提供一个方法sayHello()
    var somepackage=require('./somepackage');
     somepackage.sayHello();
    我们使用这种方法可以把文件夹封装成一个模块,即所谓的包。包通常是一些模块的集合,在模块的基础上提供了更高层的抽象,相当于提供了一些固定接口的函数库,通过定制package.json,我们可以创建更复杂、更完善、更符合规范的包用于发布。
    
    (2)package.json
    前面的例子,在somepackage文件夹下,我们创建一个package.json的文件,内容
    {
        'main':'./lib/index.js'
    }
    Node.js在调用某个包时,会检查包中package.json文件的main字段,将其作为包的接口模块,如果package.json或main字段不存在,会常事寻找index.js或index.code作为包的接口
    package.json的规范属性:
    name:包的名称,必须是唯一
    description:包的简要说明
    version:符合语义化版本识别规范的版本字符串
    keywords:关键字数据,通常用于搜索
    maintainers:维护者数组,每个元素要包含name、email、web可选字段
    contributors:贡献者数组,格式与maintainers相同。包的坐着应该是贡献者数据的第一个元素
    bugs:提交bug的地址,可以是网址或者电子邮件地址
    licenses:许可证数组,每个元素要包含type和url字段
    repositories:仓库托管地址数组,每个元素要包含type、url和path字段
    dependencies:包的依赖,一个关联数组,由包名称和版本号组成。

    package.json

    {
      "main":"./lib/package.js"
    }

    package.js

    exports.say=function(){//公共方法
    console.log(" test package!");
    }

  • 相关阅读:
    git 学习网站
    Vue 部署在 IIS 上
    Element UI 的坑
    Vue 中 Prop 传至的 一个Bug
    Asp.net Core 部署在 IIS上
    今天用UniApp开发, 用到 Vuex 中的 mutations, 设置值的时候好像只能传2个参数, 第一个是固定的state, 第二个是一个值, 不能传第三个了
    anxios 和 uni.request 访问Asp.net 服务器传参出错的坑
    内网计算机设置问题说明
    关于综合布线
    Android学习 -- Activity 以及Activity之间值传递
  • 原文地址:https://www.cnblogs.com/yaowen/p/7013047.html
Copyright © 2011-2022 走看看