在npm维护package能够方便版本更新、使用、复用。
这篇文章里会聊从零开始在npm上建立发布package.
简单来讲就是:vue
如下是详细步骤。node
初装必要环境。
node, npmgit
在npm网站建立一个帐号。
进入官网-进入注册页面-验证邮箱地址。npm
在本地建立一个目录,并进入。json
mkdir ... cd ... npm init // 再输入相应信息。
npm adduser
npm login //有多是 npm adduser // 再输入帐号、密码。
README.md // 介绍当前package,能够不建立。
index.js // 与package.json里的main值同样。它是做为入口文件的。
再建立package的内容。包文档结构以下: 测试
assets
是用来放置资源。 assets/basic
我我的习惯用来放置基本内容。能够无论。 assets/img
是用来放置图片。 conponents
是用来放置组件。 conponents/vueName
是用来放置当前组件须要的子组件。 conponents/vueName/index
通常是该组件。 lib
全部组件须要的数据资源。 .gitignore
指定须要git忽略的内容。 index
当前包的入口文件。 package
当前包的信息。 README.md
介绍当前包。 网站
当前包的入口文件中index.js文件。在该文件中须要把名组件输出。this
// package/index.js import first from './src/components/first' import second from './src/components/second' export { first, second }
npm publish <!-- package name 已经被注册 --> npm ERR! publish Failed PUT 403 npm ERR! code E403 npm ERR! Package name too similar to existing packages; try renaming your package to '@feigebaobei/secondtest' and publishing with 'npm publish --access=public' instead : secondtest <!-- 邮箱未验证 --> <!-- 镜像问题 -->
// 报错 npm ERR! publish Failed PUT 401 npm ERR! code E401 npm ERR! 404 unauthorized Login first: firstasdfqwer1234 npm ERR! 404 npm ERR! 404 'firstasdfqwer1234' is not in the npm registry. npm ERR! 404 You should bug the author to publish it (or use the name yourself!) // 解决方法 npm config set registry https://registry.npmjs.org/ npm adduser npm login npm publish // 报错 Package name triggered spam detection; if you believe this is in error, please contact support@npmjs.com : firstasdfqwer1234 // 解决方法 // 改成正常的名字
当前包的做者能够删除。admin角色(24 小时内可删除)spa
npm unpublish packagename --force
当前团队的拥有者或owner角色。点击删除按钮可把该package从team中删除。code
npm还有一些不足。eg:1.协做者不能删除package.2.多个协做者不能同时编辑同一个package.3.没法删除org。4.24h后不可删除该包。
在发布前最后先测试是否能正常工做。我采用的方法是建立一个vue项目把package放在src/components/
下。使用相对连接引用。这是开发阶段的测试。若须要在正式测试须要再建立一个vue项目。使用npm i packageName
安装该包,再使用包。若经过这2个测试就能够正常使用了。
2018/11/06 by stone