npm发布包流程详解 有demo

2019-12-06 11:01:31

参考链接 动手上传自己的npm包

npm发布包步骤,以及踩过的坑(见红颜色标准):


1.注册npm账号,并完成Email认证(否则最后一步提交会报Email错误)


2.npm添加用户或登陆:npm adduser 或 npm login


 


 3.更改npm源


平时我们可能用的是淘宝的镜像路径,而淘宝的镜像只有下载功能,不支持上次npm包。所以先把npm源改回来,等到发布成功后再改回来


4.制作自己的npm包


在目录下新建一个npm包的文件夹,如npmDemojsl,尽量取得特殊一点,不然很容易很已有的冲突

cmd进入目录下,运行npm init,生成package.json文件



编写主文件:index.js(npm init默认的入口文件是index.js,这可以自己定义)

随便写一个简单的hello输出: 


var hello = function(msg) {

    console.log('hello'+msg)

}

module.exports = hello 

 5.发布npm包:npm publish 




登陆我们的npm,也可以看到我们发布的包 




到这里,我们发布的第一个npm包就成功了!


6.使用和验证我们的包


npm install npmdemo2jsl 下载我们刚刚上次的包

引入该包,编写测试test.js

const a = require('npmdemo2jsl')

a('jsl')

 运行test.js:node test.js 


  • 2020-01-07 10:06:00

    vue重定向beforeRouterEnter与replace的使用

    一个登录页面,只有第一次才会出现,一旦出现过,以后再也不会出现,即使是输入该页面的url也不会跳转到该页面,只会跳转到指定的其他页面;

  • 2020-01-07 10:14:07

    vue强制刷新组件 销毁和重建

    很多时候,通过重置数据将页面重置时,子组件可以提供重置的方法,或者提供props重置自己的状态。但是相对麻烦,那可以使用强制刷新来实现刷新组件。

  • 2020-01-07 10:17:42

    vue钩子函数beforeRouteUpdate没有反应

    由于会渲染同样的 Foo 组件,因此组件实例会被复用。而这个钩子就会在这个情况下被调用。 可以访问组件实例 `this`

  • 2020-01-08 13:23:24

    vue 中使用eventbus

    为了提高组件的独立性和重用性,父组件会通过props向下传数据给子组件,当子组件又事情要告诉父组件时用通过$emit事件告诉父组件,如此确保每个组件都是独立在相对隔离的环境中运行,可以大幅度提高组件的可维护性

  • 2020-01-08 13:30:30

    vue中eventbus被多次触发(vue中使用eventbus踩过的坑)

    一开始的需求是这样子的,我为了实现两个页面组件之间的数据传递,假设我有页面A,点击页面A上的某一个按钮之后,页面会自动跳转到页面B,同时我希望将页面A上的某一些参数携带过去给页面B。 然后我就想,这不就是不同组件之间的数据传递问题而已吗?直接用bus 巴士事件来传递数据不就行了吗。于是,我就很愉快地进行了。关于vue中的eventbus的使用,我之前在一篇vue中的数据传递中有提到过。

  • 2020-01-08 22:03:07

    修改MAC系统下默认PHP版本

    今天在使用mac时遇到了一个问题,因为需要composer拉取laravel5.6,但是提示我php版本过低,但是我本人使用的是集成环境MAMP,已经切换了php7.2的版本,这个为什么没有生效呢?经检查是因为composer检测得是mac下环境变量生效的php版本