Open SunXinFei opened 6 years ago
主要是通过package.json中的files属性,如files:["package.json","src"]
,表示发布文件的白名单。
当然也可以通过.npmignore设置黑名单
优先级是files>.npmignore>.gitignore
如https://classic.yarnpkg.com/zh-Hans/package/react-grid-layout-between 这个网站给出了三种CDN的方式访问npm包文件: https://bundle.run/react-grid-layout-between@1.0.0 https://unpkg.com/browse/react-grid-layout-between@1.0.0/ https://cdn.jsdelivr.net/npm/react-grid-layout-between@1.0.0/ 和一种在线查看方式: https://classic.yarnpkg.com/zh-Hans/package/react-grid-layout-between?files
npm版本号对于npm开发者来说是需要控制好的,避免出现使用者更新包之后出现不可使用的情况。 规范下的程序版本号使用的描述格式是:主版本号.次版本号.修订号,版本号递增规则如下:
先行版本号及版本编译信息可以加到“主版本号.次版本号.修订号”的后面,作为延伸。
详情见:https://github.com/SamHwang1990/blog/issues/7
除了上面符合semver 的版本号声明外,npm、yarn 还支持扩展的版本号声明来支持git、github 等:
上面的git url、user/repo均支持使用commit-ish 作后缀来更精确的指向项目的某次提交、某个tag 或某个分支。
peerDependencies的目的是提示宿主环境去安装满足插件peerDependencies所指定依赖的包,然后在插件import或者require所依赖的包的时候,永远都是引用宿主环境统一安装的npm包,最终解决插件与所依赖包不一致的问题。 参考:https://segmentfault.com/a/1190000022435060
生成测试包:npm version prerelease --preid=beta
发布测试包: npm publish --tag beta
发布正式包
npm version patch
npm publish
指定版本 npm version 0.2.0-beta.0
发布正式包
npm version minor
npm publish
查看tag列表:npm dist-tag ls
查看npm包信息:npm info
参考:https://github.com/canvasT/blog/issues/2
在此之前先说下nrm,因为国内的开发者一般为了速度,是将自己的npm镜像设为taobao的那个,在这里如果使用该网址,会出现一些错误
no_perms Private mode enable, only admin can publish this module:xxx
,所以我们需要nrm这个工具来切换我们的NPM源,这点一定要注意。npm adduser
,然后输入用户名,密码,邮箱即可登入成功,登陆成功后,输入npm whoami
如果出现了你的用户名,说明你已经成功登陆了。npm init
命令,module.exports = require('./lib/test')
module.exports = function(){return 'ok'}