webpack,gulp,mvvm的开发模式,使得大家的项目结构从原本的html、css、js这种分资源存放的方式,变成了以项目为单元的结构。很多时候,项目之间又是相似的,所以,开始一个新项目时,大家应该都是copy一个类似的项目,然后再做重命名的修改吧?反正我是的。为了让这个copy的过程更优雅,就自己写了个简单的copy命令,喜欢优(zhuang)雅(bi)的朋友可以npm install -g project-copy
试一下。
项目作用
通过copy你的旧项目,快速而优雅的创建一个新项目。可支持copy目录或文件。
Usage
|
|
其中project_old
project_new
既可以是目录,也可以是文件。 项目源码可以查看这里。欢迎star。
项目很简单,我主要是想记录下自定义命令行和发布Node模块的过程。
创建模块
- 首先新建一个你的项目目录,进入此目录,
npm init
初始化package.json文件,根据提示填写即可。填错也没关系,因为你可以随意修改生成后的package.json文件。 - 写你的项目。我这个
project-copy
很简单,就一个new.js就搞定了。 - 在package.json中添加bin命令,例如:可以在源码中查看我的package.json。
|
|
bin中的key就是你自定义的命令,value是执行此命令的文件。
npm install -g
在你本机安装自己的项目,这样才能使用刚才自定义的命令。每次对项目做修改后,都要执行此命令重新安装,这样修改才能生效。- 第四步的每次修改都需要安装是不是太不可思议了?那就试下
npm link
。
|
|
这样,/usr/local/lib/node_modules/project-copy 便会链接到 ~/projects/project-copy下。你当前项目的任何更改都可以反映到全局。 至此,模块已编写完毕,准备发布。
发布模块
- 首先最好有一个GitHub账号,且将模块源码托管到github,便于大家提issue
- 然后在npm上注册一个账号。
- 命令行登录npm:npm login
- 命令行发布:npm publish
- 此时就可以在npm官网查看我们自己的模块啦
版本号
npm社区版本号规则采用的是semver(语义化版本),主要规则如下:
|
|
常用npm命令
|
|
完~~~