脚手架开发

发布一个普通node项目

1、搭建一个项目。即书写一个目录通过npm init -y
2、新建 index.js文件
3、修改package.json文件中的main入口文件地址为index文件所处位置
4、添加忽略文件.npmignore(黑名单方式)package.json.files(白名单方式)
5、命令行登陆npm login填写自己在npm上注册的帐号密码以及要通知的邮箱。静心等待即可。

黑名单方式
.npmignore
即:在项目根目录下新建一个名称为 .npmignore 的文件,使用与 .gitignore 一样的写法,将不希望上传到 npm 仓库的文件记录进去。

白名单方式
pkg.files
即:在 package.json 新建一个名称为 files 的属性,以数组的方式,记录下希望上传到 npm 仓库的文件。

备注

如果你的项目比较复杂比较深层,如果你手动添加白名单的话,可能会漏掉某些文件。
这是推荐使用 ypkgfiles 自动生成 pkg.files。

ypkgfiles 的原理非常简单,通过 main 入口找到所有的相对依赖,然后获取第一层的文件或目录就能生成 pkg.files 了。

ypkgfiles 还提供 --entry 参数来支持一些特定的场景,比如以下场景无法被 ypkgfiles 识别。

  • 比如某个目录是模板文件,不是通过 require 加载的
  • 如 mz 模块使用 require('mz/fs') 的方式,并且这个文件不被 main require
  • egg 的目录是由 egg loader 加载的

使用 --entry 来添加这些文件或目录,比如 egg 项目

$ ypkgfiles --entry app --entry config --entry *.js

区别

根据自己的业务场景选择即可,还是很容易区分。
比如你是开源项目,所有的文件会希望上传,如果你用第二种方式,就会使 package.json 变的庞大。
比如你是保密项目,只希望打包后的 dist 文件上传,如果你用第一种方式,书写 .npmignore 的时候你就会很头大

参考

NPM如何只发布打包后的dist

你可能感兴趣的:(脚手架开发)