发布项目到NPM

修己安人,内圣外王

最近,在开发Node项目过程中遇到了需要类jQuery深拷贝对象的问题,去Github找了半天,并没有符合的,于是,自己决定写一个(mixin.js),然后推送到NPM,下面是整个流程,在此记录~~~

环境要求

  • 安装Node
  • 安装Npm

创建项目

第一步:在Github创建相关repository,然后进行npm init 初始化package.json。之前曾撰写过使用commander进行模拟npm init操作,请参考:使用Node.js构建命令行工具

第二步:编写相关代码

注意:对于引入方式进行处理

(function (global, name, factory) {
    "use strict";

    if (typeof exports === ‘object‘ && typeof module !== ‘undefined‘) {
        module.exports = factory();
    } else if (typeof define === ‘function‘ && (define.amd || define.cmd)) {
        define(factory);
    } else {
        global[name] = factory.apply(this);
    }
}(this, "项目名称", function () {
    // 逻辑编写
}));

第三步:发布模块

1. 在npm注册账号:https://www.npmjs.com/signup

2. 在本地登录自己刚注册的账号 npm login

3. 发布模块 npm publish

持续集成

目前Github已经整合了持续集成服务travis,我们只需要在项目中添加.travis.yml文件,在下一次push之后,travis就会定时执行npm test来测试你的项目(该项目中,使用mocha进行测试管理),并且会在测试失败的时候通知到你,你也可以把项目当前的状态显示在README.md中,进而很容易知道项目当前状态。

language: node_js
node_js:
  - "4"

压缩打包

项目中,使用gulp进行压缩代码

var gulp = require(‘gulp‘);
var uglify = require(‘gulp-uglify‘);
var rename = require(‘gulp-rename‘);

gulp.task(‘default‘, function () {
    gulp.src(‘src/*.js‘)
        .pipe(uglify())
        .pipe(rename({ extname: ‘.min.js‘ }))
        .pipe(gulp.dest(‘dist/‘))
});

附:

项目结构

mixin.js
├─┬ dist
│ └── mixin.min.js
├─┬ src
│ └── mixin.js
├─┬ test
│ └── test.js
├── .gitignore
├── .npmignore
├── .travis.yml
├── gulpfile.js
├── LICENSE
├── package.json
├── README.md

项目面板

项目地址:https://www.npmjs.com/package/mixin.js

package.json关键字段说明

package.json文件必须是一个JSON,而非JavaScript对象。

  • name:最重要的字段之一,项目名称(少于214个字节)。没有nameversion不能进行安装;
  • version:最重要的字段之一,项目版本。没有nameversion不能进行安装;修改项目代码的同时需要修改该version字段;
  • description:项目描述,帮助人们通过npm search发现该项目;
  • keywords:关键字,帮助人们通过npm search发现该项目;
  • license:开源声明;
类型 说明
General Public License,简称GPL 运行、复制软件的自由,发行传播软件的自由,获得软件源码的自由,改进软件并将自己作出的改进版本向社会发行传播的自由。
BSD 可以自由的使用,修改源代码,也可以将修改后的代码作为开源或专有软件再发布
Massachusetts Institute of Technology,简称MIT 赋予软体被授权人更大的权利与更少的限制

详情参考:https://docs.npmjs.com/files/package.json

时间: 2024-10-12 18:10:34

发布项目到NPM的相关文章

如何上传发布自己的npm组件包

本文介绍如果上传自己写的 npm 组件包到 npm私库上.当你 写好了自己的一个npm的组件想共享上去给别人或者给公司的同事使用的时候,你可以把你的npm组件发布上去 (publish).不过npm的全局库估计你是上传不上去的,要经过审核,但是你可以上传到你自己公司的私库,搭建私库的教程可以参见 http://blog.csdn.net/nsrainbow/article/details/35989657 前提条件: 你已经建好了一个公司的私库,这个私库地址是 http://localhost:

(在本地运行项目)npm报错:npm ERR! missing script: start npm ERR! A complete log of this run can be found in: npm ERR! C:\Users\Administrator\AppData\Roaming\npm-cache_logs\2017-11-20T09_43_06_459Z-debug.log

1.克隆项目:gi tclone XXXXX.git(可以在终端运用git命令行下载,也可以直接在webStorm中下载) 2.安装node.js(电脑上已经安装成功,此步骤可省略) 3.安装依赖:进入到项目文件夹内,npm install(由于git上只会存在package.json,而不会存在node_modules,所以需要根据package.json上的内容,在本地重新加载一份node_modules,用来确保vue项目得以运行) 4.启动服务:进入到项目文件夹内,npm run dev

Tomcat发布项目但是webapps下没反应

1.问题 项目发布了但是webapps下面什么都没有 2.原因 大多是Tomcat的路径设置不对 3.解决 第一步:关掉服务器 第二步:把项目从tomcat下面delete,然后再 publish 第三步:参照下图看Server Locations和Server Options对不对.即可 Tomcat发布项目但是webapps下没反应,布布扣,bubuko.com

【转】.NET Core基于. csproj 配置文件发布项目

一.前言 .NET工具链在最新的Preview3版本中,引入了新的MSBuild项目系统,项目文件又回归了.csproj的XML文件来管理,项目文件.包引用.程序集引用..NET Core工具集.发布内容定义等内容.本文主要将主要讨论,如何在新的项目系统中(.csproj)发布可执行文件.我们都知道在之前的版本中,项目文件是通过project.json文件来管理项目和包引用的,那么通过删除 dependencies->Microsoft.NETCore.App-> "type&quo

eclipse发布项目时,会自动还原server.xml和content.xml文件

因为Tomcat的端口冲突,导致eclipse发布项目时,失败.于是到server.xml文件中修改端口,重启使用eclipse发布项目,发现依然报端口冲突的错误,其原因时,刚才对server.xml文件的修改,被eclipse给覆盖了,使用的是eclispe中自带的server.xml文件,如下所示: 既然 eclipse 会只用该文件覆盖tomcat中的server.xml文件,那么我注解修改 eclipse 自带的 server.xml 文件就行了.测试结果如果如此.以前一直没有太关注ec

【无私分享:ASP.NET CORE 项目实战(第十章)】发布项目到 Linux 上运行 Core 项目

目录索引 [无私分享:ASP.NET CORE 项目实战]目录索引 简介 ASP.Net Core 给我们带来的最大的亮点就是跨平台,我在我电脑(win7)上用虚拟机建了个 CentOS7 ,来演示下,我们windows上的项目如何发布项目到Linux上运行.我这里有个在windows上搭建过的程序,我们主要演示如何在linux上运行,所以大家不要纠结于这些,大家可以新建一个web项目尝试一下. 安装.NET Core SDK for CentOS 微软有详细的安装命令,可以参考Install

发布项目到 Linux 上运行 Core 项目

发布项目到 Linux 上运行 Core 项目 目录索引 [无私分享:ASP.NET CORE 项目实战]目录索引 简介 ASP.Net Core 给我们带来的最大的亮点就是跨平台,我在我电脑(win7)上用虚拟机建了个 CentOS7 ,来演示下,我们windows上的项目如何发布项目到Linux上运行.我这里有个在windows上搭建过的程序,我们主要演示如何在linux上运行,所以大家不要纠结于这些,大家可以新建一个web项目尝试一下. 安装.NET Core SDK for CentOS

Visual Studio发布项目到远程服务器的步骤

第一步: 需要远程服务器上安装Web Deploy ,下载地址:http://www.iis.net/downloads/microsoft/web-deploy PS.安装时选择完全安装. 第二步: 2.安装Web Deploy之后,还需要启用IIS 的——管理服务. 第三步: 配置好管理服务之后,接下来需要进入IIS中通过管理服务来进行相应的设置: 双击管理服务,对IIS进行配置,这里我保持了默认的设置,您可以根据自己的情况进行设置: 第四步: 配置远部署Web项目的账户 基于安全考虑,我们

利用ant进行编译和发布项目

本文通过一个示例来解说如何通过ant进行编译和发布项目.本例按如下目录结构来组织项目. D:/web/antsample项目根目录 D:/web/antsample/src源代码目录 D:/web/antsample/src/sample/HelloWorld.java示例HelloWorld代码文件 D:/web/antsample/app应用程序目录 D:/web/antsample/app/index.jsp默认首页文件 D:/web/antsample/app/WEB-INF D:/we