前言:构建的ES组件使用CNPM发布内网上过程

1. 使用Create-React-APP开的组件 如果直接上传到NPM,你引用的时候会报:

You may need an appropriate loader to handle this file type.  如果你直接复制到你的项目里比如Src下是可以的。 这个原因是webpack设置了默认对node_modules文件夹中不进行babel转码,有助于提升打包效率。

因此我选择将该组件先转化为ES5语法,然后发布到 NPM 社区。 你也可以设置对其打包,这样会很慢很慢.

2. ishow UI 依赖:

yarn add react-click-outside async-validator classnames throttle-debounce raf

3.  把es6转es5:

  yarn add babel-cli babel-preset-es2015 babel-preset-react babel-preset-stage-0 cross-env --dev

4.  修改  package.json 文件main 属性为 "main": "lib/index.js"

5.  编辑 .babelrc 文件

{
"presets": [
"es2015",
"stage-0",
"react"
]
}

, 你也可以不编写这个文件,那么babel会调用package.json里的 babel-preset-react-app来转换,因为你的package.json里有如下配置:

"babel": {
"presets": [
"react-app"
]
},

6.  在你的package.sjon script:里增加如下命令:

"es6": "cross-env NODE_ENV=production npx babel src --copy-files --extensions .js,.jsx --out-dir lib"  这个表示把 src下面的所有js jsx文件打包到lib目录下,其它文件直接复制过去。
    1).这里如果不设置NODE_ENV=production babel不工作
               2).如果有.babelrc文件打包出来的是纯es5, 如果没有打包出来的是es6
               3)如果是window平台可以直接set  NODE_ENV=production 然后运行 npx babel src --copy-files --extensions .js,.jsx --out-dir lib
 
然后yarn run es6即可生成lib文件目录,把这个集成到npm里即可调用 
 
 7.上传项目到NPM,如果你使用cnpm

1. cnpm  set registry http://npm.你们的域名.org/  如果是公网不需要这一步

2. cnpm login
      type username and password with domain account
3. cnpm pub

 
 

使用CRA开发的基于React的UI组件发布到内网NPM上去的更多相关文章

  1. uni-app开发微信小程序引入UI组件库(Vant-weapp)步骤

    uni-app开发微信小程序引入UI组件库(Vant-weapp)步骤 这里以vant-weapp为例 uni-app官方文档介绍引入组件的方法 1. 新建相关目录 根目录下创建 wxcomponen ...

  2. 如何基于 React 封装一个组件

    如何基于 React 封装一个组件 前言 很多小伙伴在第一次尝试封装组件时会和我一样碰到许多问题,比如人家的组件会有 color 属性,我们在使用组件时传入组件文档中说明的属性值如 primary , ...

  3. 小程序开发-6个优秀的UI组件库

    微信小程序开发,当原生的控件不能满足我们时,可以尝试下面几个比较优秀的组件库. 1. WeUI WXSS WeUI WXSS是腾讯官方UI组件库WeUI的小程序版,提供了跟微信界面风格一致的用户体验. ...

  4. 基于react hooks,zarm组件库配置开发h5表单页面

    最近使用React Hooks结合zarm组件库,基于js对象配置方式开发了大量的h5表单页面.大家都知道h5表单功能无非就是表单数据的收集,验证,提交,回显编辑,通常排列方式也是自上向下一行一列的方 ...

  5. 前端004/React常用UI组件

    每天进步一点点〜 Ant Design of React //蚂蚁金服设计平台.需要应用何种类型组件可参考API React + mobx + nornj 开发模式文件说明: [1].A.t.html ...

  6. [闲的蛋疼系列]从零开始用TypeScript写React的UI组件(0)-先写一个Button??

    0.咸鱼要说的 一入前端深似海,咸鱼入海更加咸. 最近闲的蛋疼,手上年前的事也完成了7788了,借助[PG1]的话来说,我们要keep real. 咸鱼肯定不real 了,因为我们都活在梦里,所以咱们 ...

  7. 可以结合react的ui组件

    https://ant.design/components/switch-cn/

  8. 基于react的audio组件

    样式请自己定义哦~需要其他功能请自行添加! // 组件调用 <Audio src={src地址} id={srcID}/> audio属性 src 歌曲的路径 preload 是否在页面加 ...

  9. 基于nginx负载均衡及frp的内网穿透实例3-多用户多网站共用80端口

    原文地址:点击跳转 最近frp用户量有点多,而且很多用户都是想把部署于本地或者内网的web服务暴露至公网,之前提到过,暴露到公网之后如果一般都需要用域名:端口的方法来访问,但是没有人会喜欢用这种方式访 ...

随机推荐

  1. 1135 Is It A Red-Black Tree(30 分)

    There is a kind of balanced binary search tree named red-black tree in the data structure. It has th ...

  2. Oracle数据库导入、导出(远程、10g、11g)

    1  查看oracle的版本信息 (1)用客户端连接到数据库,执行select * from v$instance             查看version项 (2)select * from pr ...

  3. Oracle中的float类型字段

    Oracle中的float类型对应着C#中的decimal类型

  4. 一行代码解决IE6/7/8/9/10兼容问题

    百度源代码如下 <!Doctype html><html xmlns=http://www.w3.org/1999/xhtml xmlns:bd=http://www.baidu.c ...

  5. Python之常用模块(一)

      time & datatime 模块 random os sys shutil json & picle   time & datetime 时间戳(1970年1月1日之后 ...

  6. Modbus通讯协议学习 - 认识篇

    转自:http://www.cnblogs.com/luomingui/archive/2013/06/14/Modbus.html 什么是Modbus? Modbus 协议是应用于电子控制器上的一种 ...

  7. JavaScript总结(1)

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/stri ...

  8. ReportEvent的正确使用方式

    向操作系统的事件管理器报告重大信息是一种非常有用的方式,特别是对于没有界面的后台服务而言.如果你对Windows编程有一定了解,应该很快就能想到使用ReportEvent这个API,然后快速写出下面的 ...

  9. PDF,IMAGE,HTML,WORD,EXCEL 互操作

    http://www.cnblogs.com/lyl6796910/p/3318056.html

  10. c# dll自动注册

    在网上看到一个c# dll自动注册的文章,我测试了一下,可用. 下面是具体代码 [DllImport("Ry4SCom.dll")] public static extern in ...