当前位置: 首页 > 后端技术 > Node.js

npm包发布经验分享

时间:2023-04-03 11:29:43 Node.js

重点介绍npm包发布前后的坑~坑注意事项https如果npm包中的方法包含协议类型为http的请求(跨域请求),但调用服务协议类型为https,会出现Error:[blocked]Thepageathttps://XXXwasnotallowedtodisplayinsecurecontentfromhttp://XXXPleaseupgradetheinterfaceservicetohttps,urlwritingscheme:https://XXX:http服务请求https接口没有错误;https服务请求https接口没有报错。//XXX:请求协议类型与服务协议类型自动转换。环境变量如果npm包中的方法执行需要区分服务环境,那么通过process.env.NODE_ENV获取环境变量是否准确(nodenpm包没有上述准确度问题)?即使准确,命名规范也不统一。比如生产环境可以用prod、production等来引用,参数传递约定的环境变量可以考虑。Transcoding转码就是把ES6和ES7转成ES5。先附上一个Babel转码教程,然后科普一下转码的危害:低版本浏览器引用的未转码的前端包不兼容。另外,如果vendor.js没有转码片段(通常打包成vendor.js依赖node_modules模块)先于app.js执行,在低版本浏览器会直接导致白屏。未转码的节点包被低版本节点服务引用,抛出异常。如果服务器安装的node版本较低,引用未转码的包会导致接口抛出异常。更糟糕的是,如果被页面预加载的中间件依赖,会直接导致白屏。这时可能有同学会考虑植入babel-polyfill...请求中包含npm方法,使用axios等第三方http库会受到业务拦截axiosrequest的影响。推荐使用原生的XMLHttpRequest对象封装。有红包科普如何发布npm包~发布流程注册账号,打开终端输入:npmadduser根据提示输入用户名,密码,邮箱,立即注册成功。注册用户请忽略以上步骤。请直接登录:npmlogin初始化包并创建bridge等文件夹,然后:cdbridgenpminit完成初始化,根据提示完成目录:.eslintrc,.gitignore,package.json,node_modules不需要不多解释了,前端大家都懂。src是没有经过Babel转码的源码。转码后会放在网桥的根目录下。Babel是通过.babelrc配置的。至于README.md,共享包手册必不可少。发布一个包,首先设置版本号,规则请参考Semver,然后:npmpublish理想情况下,包已经成功发布到npm,下面是不理想的:namingproblemnpmERR!您无权发布XXX。您是否以正确的用户身份登录?检查npm名称是否被占用。如有占用,请修改后重新发布。版本号问题npmERR!forbidden无法修改已有版本:1.0.9:当前版本XXX已经发布,请更新版本号。镜像配置问题npmERR!no_permsprivatemodeenable,只有admin可以发布这个模块:XXX为了npm提速,有同学使用淘宝镜像代理,请恢复原配置:npmconfigsetregistry=http://registry.npmjs.org作者:我的小喵的后花园:https://sunmengyuan.github.io...我的github:https://github.com/sunmengyuan