React Native学习

012-发布自己的Npm

2017-09-05  本文已影响221人  Time_情书

欢迎各位同学加入:
React-Native群:397885169
大前端群:544587175
大神超多,热情无私帮助解决各种问题。

大纲:准备工具
1-:安装nodeJS
2-:注册一个github账户用于托管代码
3-:注册一个npm账户
4-:开发你的module,更新至github
5-:发布module至npm

一:安装nodeJS
https://nodejs.org/en
根据系统安装对应的版本,安装完后对应的npm也会被安装进去进入终端,输入命令查询安装版本!

node -v
npm -v

对于React-Native 开发来说,已经安装了Node,所以,此步可以跳过。

二:github创建项目,初始化
GitHub地址:https://github.com
1-:注册账户,新建项目,然后clone到本地
2-:终端进入到项目文件夹(此处为重点),执行

npm init

命令,构建模块的描述文件,系统会提示你输入所需的信息,不想输入就直接Enter跳过。
主要的几个配置如下:
name:模块名,发布之后就可以使用npm install xxxx 进行下载使用
version:版本号,语义版本号分为X.Y.Z三位,分别代表主版本号、次版本号和补丁版本号(默认为1.0.0);
description:简单介绍自己的模块;

main:入口文件,必要,当通过require('xxx')时,是读取main里声明的文件(默认为index.js);
test command:测试命令;
git repository:git仓库地址;
keywords:关键词,可以通过npm搜索你填写的关键词找到你的模块;
author:作者信息,可以之后编辑更详细一些;
license(ISC):代码授权许可;

以上放心可以大胆写,因为之后反正要改。

三:注册Npm账号
1-:在npm 注册用户
2-:在本地登录自己的npm账号

npm login

3:查询或者登陆别的用户命令,然后进行登录

npm whoami
npm login

以上三种方式,任选其一。

四:编码
1-:导入项目到WebStorm中,新建Index.js文件,此文件为访问此node_modules的入口文件;
2-:此入口文件大致样式如下,可根据自己的需求进行适当调整

'use strict';

import Label from './components/Label/Label';
import ListRow from './components/ListRow/ListRow';

const FcsUI = {
    Label,
    ListRow,
};
module.exports = FcsUI;

3-:在使用此node_modules时,需要使用例如‘ Label’组件时,则可使用如下方式进行引用:

import {Label} from 'FcsUI';

4-:在此Npm中,会有各种各样的组件,而在index.js文件中,一般情况下,只进行组件的导出。特殊情况,需要特殊处理,详情可参考源码。

五:更新代码到GitHub并进行发布:
1-:提交代码到GItHub;
2-:进入此项目根目录,执行如下命令

npm login

进行登录
3-:使用如下命令进行发布:

npm publish

发布过程中,可能会出现如下错误:
-1:

npm ERR! no_perms Private mode enable, only admin can publish this module:

解决方式如下:

npm config set registry=http://registry.npmjs.org

-2:

npm ERR! you do not have permission to publish "your module name". Are you logged in as the correct user?

解决方案如下:
提示没有权限,意思就是提示此module名在npm上已经被使用,此时,需要去官网npm搜索你需要或者想要想要使用的Npm模块名称,如果搜索不到,就可以用,并且把package.json里的name修改过来,重新npm publish.

六:更新,测试,第三方依赖
1-:更新:
当需要更新Npm 代码时,需要修改位于package.json里面的version字段,切记,不更新此版本号,无法进行更新
2-:测试:
关于测试,只能使用笨方法——其他地方写好代码后进行测试之后,把相关代码进行复制,进行发布。
3-:第三方依赖
在node_modules使用其他第三方时,不需要在此Npm项目根目录下执行:

npm i

而是继续采用笨方法,在其他正常使用的位置进行测试验证。验证完成后,复制相关代码。若使用此Npm时,需要执行添加此Npm命令,此刻,就会把代码中的其他三方进行依赖下载。

上一篇 下一篇

猜你喜欢

热点阅读