Нет описания

LuoHaoxuan 42be6a0676 feat(client): 完善ComponentNameMap 3 лет назад
crypto cdd5baad59 chore: 打包时,增加输出esm 4 лет назад
handsontable e9f026d08a feat(handsontable): 取消阻止滚轮事件,并将版本进行回退处理 3 лет назад
overwrite cdd5baad59 chore: 打包时,增加输出esm 4 лет назад
report 444a208cb5 feat: 回滚lodash 3 лет назад
tree d18947eec5 fix(tree): prepareSpecialMove问题 3 лет назад
types 42be6a0676 feat(client): 完善ComponentNameMap 3 лет назад
util e8ef2b1c48 feat(util): 平均值算法 3 лет назад
wise-cost-connect 53b1bc8062 feat(connect): mongoose 设置为 false 3 лет назад
wise-cost-util 444a208cb5 feat: 回滚lodash 3 лет назад
.gitignore 7b3546615a feat: 数学计算4舍5入包 5 лет назад
README.md 9d5fb81f87 docs: add README.md 5 лет назад

README.md

npm私服搭建

qa

verdaccio + pm2

内网地址:http://192.168.1.90:4873

内网穿透:http://smartcost.in.8866.org:26904/

客户端使用

在指定了私服地址后执行npm install,package.json中特定前缀的包(比如"@sc/**")会从私服中下载,其他前缀的包从taobao下载。(verdaccio config.yml中配置)

npm设置

将npm registry设置为私服地址http://192.168.1.90:4873,设置了npm registry后才能安装、发布、取消发布、更新私服的包。

npm config set registry http://192.168.1.90:4873

nrm

由于npm的私服包的安装或发布都需要指定registry,为了方便,可以使用nrm来管理registry。

安装

npm install -g nrm

使用

  • 将registry地址用别名来取代: nrm add smartcost http://192.168.1.90:4873
  • 切换npm registry: nrm use smartcost

使用nrm use命令切换registry后,npm install等命令不需要带上--registry选项了。

使用nrm ls可以查看当前npm registry地址

  • 添加用户 npm adduser

npm包开发、发布流程

开发

  1. 克隆SCCommon项目 http://192.168.1.41:3000/SmartCost/SCCommon ,用于各库的git管理,所有库作为SCCommon项目的子目录,如test库:SCCommon/test/...
  2. 基于JavaScript编写库或TypeScript编写库,从git拷贝相应工程目录到SCCommon项目的对应库目录下。

    js-template:

    http://192.168.1.41:3000/SmartCost/javascript-package-template

    ts-template:

    http://192.168.1.41:3000/SmartCost/typescript-package-template

  3. 在对应库目录下(如SCCommon/test/)安装依赖npm install

  4. 修改package.json文件,将name字段修改为包名称。必须以“@sc/”开头。

  5. 在对应库目录下的src文件夹下开始开发(注意src文件夹必须要有index入口文件(.js、.ts))。

  6. 在对应库目录下执行打包命令npm run build,打包后的文件会被输出到dist文件夹。

  7. 如果库基于JavaScript开发,且库需要被TypeScript项目引入。由于TypeScript是强类型语言,必须要有类型声明。因此,必须要在dist文件夹下,编写index.d.ts声明文件。参考: https://www.tslang.cn/docs/handbook/declaration-files/introduction.html

注意:rollup打包模块基于ESModule,因此在开发包的时候,模块规范为ESModule(import... export...)

发布

在npm注册了私服地址后,在对应库目录下(如SCCommon/test/)下执行命令:

npm publish

若报错提示缺少权限,则执行npm adduser添加新用户或登陆npm login

更新

本地代码

本地代码通过git方式提交至SCCommon仓库(每个库都为SCCommon的一个子目录)

npm包

  1. 更新npm包时,应对npm包版本号(package.json version字段)进行迭代:npm version x.x.x
  2. 重新发布npm publish(当前版本号与远程包版本号一样的情况下无法更新)

    使用了相关包的项目

    执行npm update libName

若更新失败,可删除package-lock.json后重新执行安装命令。