npm 淘宝镜像 npm国内镜像源
npm上传包步骤
1.*注册账号: 注册后需查看邮箱信息,激活验证才可上传
2.安装npm(node自带)
3.切换npm地址:npm config set registry (在安装了淘宝镜像的情况下)
4.验证地址:npm config get registry
5.命令注册,建立用户帐号:npm adduser
6.登录:npm login(一般第五步,会提示输入账号)
7.发布包,上传到npm服务器:npm publish
8.删除npm包,后面是版本号:npm unpublish baoming@1.0.1
在上传包名时,package.json文件中的”main”:”src/main.js”,一定要指向正确不然,npm下来的包引用找不到路径
npm 和 yarn 的区别
虽然网上和知乎上有好多文章写 npm和 yarn的区别。并且我写的文章中借鉴他人的,但还是希望发出来,自己想看的时候,就立马可以找到。引用的文章也会在底部写出来了。
yarn是由 Facebook、Google、Exponent和 Tilde联合推出了一个新的 JS包管理工具,yarn是为了弥补 npm的一些缺陷而出现的。
1.速度快:(主要来自一下两个方面)
2.安装版本统一
4.多注册来源处理
5.语义化进行了修改
1.查看版本
2.安装淘宝镜像
3.初始化某个项目
4.默认安装项目依赖
5.安装依赖,并且默认保存到 package
6.卸载依赖
7.更新依赖
8.安装全局项目依赖
9.安装特定版本号的项目依赖
10.发布/登录/登出,一系列NPM Registry*作
11.运行命令
使用npm常见的报错处理
(1)更换npm为淘宝的源(淘宝镜像)
npm install-g cnpm–registry=
(2)项目运行的时候;8080端口不要被被占用;因为一个8080端口只能用于一个地方;
(3)报错—-ERROR in Entry module not found: Error: Cannot resolve'file' or'directory' C:\Users\?
想要作为引用关系的js组件文件不要随便放到一个di
(4)在使用Ant Design组件库的时候st文件里面;一定要放到component文件夹中;
import{ Form, Input, Select, Checkbox, DatePicker, Col, Radio, Button, Modal, message} from'antd'
const FormItem= Form.Item
如上面的import里面并不需要加载Form.Item组件;只需要加载Form即可;
(5)如果要引入包中的某个文件;可以直接使用相对路径如
'antd/dist/antd.css'
(6)在主文件main.js中
App组件用来书写路由;
Sider组件用来写Link即链接单页面;并且一般如 Link组件后面不要加:nbsp;
(7)import ReactDOM from'react-dom'
(8)动画的实现
第1步:现在文件头部加入这个 var ReactCSSTransitionGroup=require('react-addons-css-transition-group');
或 var ReactCSSTransitionGrop=React.addons.ReactCSSTransitionGrop;
第2步:在要有动画的元素中加入此标签
transitionName代表动画的名称;
第3步:写css样式;
.example-enter —》过程先变成这里的样式
.example-enter-active —》最终变到这里的样式
.example-le*e —》这里的样式就是example-enter-active类的样式;所有这里一般不需要加样式;只要加transition即可;设置移除样式的时间;
.example-le*e-active —》移除元素的过程变成这个样式
.example-enter{
opacity: 0;
font-size: 32px;
color:red;
transition: all 1s ease-in;
}
.example-enter.example-enter-active{
opacity: 1;
font-size: 12px;
}
.example-le*e{
transition: all 1s ease-in;
color:red;
}
.example-le*e.example-le*e-active{
font-size: 32px;
opacity: 0;
color:red;
}
(9)获取数组;*作数组
var bvaue=”sdf”;
1:往数组中添加元素
1:var newItems= this.state.items;
newItems.push(bvaue); this.state.item—->[1,2,3,4];;newItems—>arr对象;
2:var newItems= this.state.items.push(bvaue);—-》这里拿到的是length值(错误做法);
2:删除数组中的元素
var newItems= this.state.items;
newItems.splice(i, 1);
this.setState({items: newItems});
(3)such file———->找不到这样或那样的文件;在编辑器从新选择文件夹里面最里面的项目文件
npm i node_module-s*e-dev自动更新devDependencies字段值(开发依赖包)
* npm i node_module-s*e自动更新dependencies字段值(发布依赖包)
*
npm 发布组件常见错误
npm发布组件时遇到的一些常见报错,这里记录一下,方便查找解决方法:
错误分析:
EISDIR代表“错误,是目录“这意味着npm试图对文件做一些事情,但它是目录。在你的例子中,*预防机制试图“读“一个文件,它是一个目录(第4行)。由于*作无法完成,因此将引发错误。
这里有三件事要确定:
解决方法:
我这里检查发现.gitignore文件是文件夹的形式,应该是文件的形式存在,改成文件就可以了。
19 verbose stack Error: 401 Unauthorized- PUT You must be logged in to publish packages.
解决方法:
查看npm的登录状态:npm whoami,登录失效时,重新登录:npm login
解决方法:
组件版本已存在,更新版本,重新npm publish
19 verbose stack Error: 403 Forbidden- PUT no_perms
错误分析:
当前的registry是taobao镜像,需要改为npmjs
解决方法:需要切回到npmjs源,输入以下命令:
错误分析:
如果你想发布组件react-native-app-info,而react-native-app-info恰恰已经被别人发不过,这里会提示你发布失败,检测账户是否登录或账户是否匹配
解决方法:这是一个杯具,所以我们在开发组件前,最好去确认名字是否已经被占用`
错误分析:
发布新版本后,去npm包管理网站查看,确实已经成功,但是本地install就是无法获取最新版本,经分析由于我install时用的是淘宝源,也就是 (去package-lock.json文件中查看可知)。原因就在这里:对应的新版本在淘宝镜像里面找不到,也就是淘宝镜像没有同步成功,目前还不知道出现问题的原因。
解决方法:
安装此依赖时,临时切换为npm官方源吧( ),重新install即可
本文链接:http://www.yangwm.com/html/87966213.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。