@ni-web-infra/common-utils
Version:
NI util function library
135 lines (101 loc) • 4.35 kB
Markdown
# @ni-web-infra/common-utils
[](https://app.fossa.com/projects/git%2Bgithub.com%2FNI-Web-Infra-Team%2Fcommon-utils?ref=badge_shield)
公共工具类库
## 如何使用
```shell
# 使用 npm
$ npm add @ni-web-infra/common-utils
# 使用 yarn
$ yarn add @ni-web-infra/common-utils
# 使用 pnpm
$ pnpm add @ni-web-infra/common-utils
```
```javascript
// 全量引入
import commonUtils from "@ni-web-infra/common-utils";
commonUtils.getBrowserInfo();
// 按需引入
import { getBrowserInfo } from "@ni-web-infra/common-utils";
getBrowserInfo();
import getBrowserInfo from "@ni-web-infra/common-utils/dist/browser";
getBrowserInfo();
```
```html
<script>
src="https://unpkg.com/@ni-web-infra/common-utils/dist/index.js">
</script>
<script>
niUtils.getBrowserInfo();
</script>
```
## 文档
[在线文档](<[common-utils.js.org](https://common-utils.js.org/)>)
## 如何开发
请遵循[贡献指南](https://github.com/NI-Web-Infra-Team/common-utils/blob/main/.github/CONTRIBUTING.zh-CN.md)
```shell
# 推荐启动 corepack
$ corepack enable
# 安装依赖
$ pnpm install
# 测试
$ pnpm test:all
# 打包
$ pnpm build
```
在 debug 文件夹下添加调试 html,引入 dist 目录下的 js 文件,即可调试。
> 如果在安装依赖时遇到网络问题,推荐在配置文件中加入 npmmirror 镜像站配置
1. 打开配置文件:
```shell
# 使用 vscode 打开 npm 用户配置文件
code ~/.npmrc
```
2. 加入以下内容:
> 参考 cnpm 配置 - [binary-mirror-config/package.json](https://github.com/cnpm/binary-mirror-config/blob/692b69014a900943166e0a039638729f6ff644d3/package.json#L47)
```shell
COREPACK_NPM_REGISTRY=https://registry.npmmirror.com,
NODEJS_ORG_MIRROR=https://cdn.npmmirror.com/binaries/node,
NVM_NODEJS_ORG_MIRROR=https://cdn.npmmirror.com/binaries/node,
PHANTOMJS_CDNURL=https://cdn.npmmirror.com/binaries/phantomjs,
CHROMEDRIVER_CDNURL=https://cdn.npmmirror.com/binaries/chromedriver,
OPERADRIVER_CDNURL=https://cdn.npmmirror.com/binaries/operadriver,
CYPRESS_DOWNLOAD_PATH_TEMPLATE=https://cdn.npmmirror.com/binaries/cypress/${version}/${platform}-${arch}/cypress.zip,
ELECTRON_MIRROR=https://cdn.npmmirror.com/binaries/electron/,
ELECTRON_BUILDER_BINARIES_MIRROR=https://cdn.npmmirror.com/binaries/electron-builder-binaries/,
SASS_BINARY_SITE=https://cdn.npmmirror.com/binaries/node-sass,
SWC_BINARY_SITE=https://cdn.npmmirror.com/binaries/node-swc,
NWJS_URLBASE=https://cdn.npmmirror.com/binaries/nwjs/v,
PUPPETEER_DOWNLOAD_HOST=https://cdn.npmmirror.com/binaries/chrome-for-testing,
PUPPETEER_DOWNLOAD_BASE_URL=https://cdn.npmmirror.com/binaries/chrome-for-testing,
PLAYWRIGHT_DOWNLOAD_HOST=https://cdn.npmmirror.com/binaries/playwright,
SENTRYCLI_CDNURL=https://cdn.npmmirror.com/binaries/sentry-cli,
SAUCECTL_INSTALL_BINARY_MIRROR=https://cdn.npmmirror.com/binaries/saucectl,
RE2_DOWNLOAD_MIRROR=https://cdn.npmmirror.com/binaries/node-re2,
RE2_DOWNLOAD_SKIP_PATH=true,
PRISMA_ENGINES_MIRROR=https://cdn.npmmirror.com/binaries/prisma,
npm_config_better_sqlite3_binary_host=https://cdn.npmmirror.com/binaries/better-sqlite3,
npm_config_keytar_binary_host=https://cdn.npmmirror.com/binaries/keytar
npm_config_sharp_binary_host=https://cdn.npmmirror.com/binaries/sharp,
npm_config_sharp_libvips_binary_host=https://cdn.npmmirror.com/binaries/sharp-libvips,
npm_config_robotjs_binary_host=https://cdn.npmmirror.com/binaries/robotjs
```
## 如何发布
```shell
# 准备好发布内容
$ npm run publishOnly
# 修改版本号
$ npm version patch/minor/major
# 发布
$ npm publish
```
## 注意
如果是 html 文件引用 `index.es.js` 文件或者通过 npm 的方式引用时,vue2.6 相关工程环境中,如果出现下面类似问题 `Module parse failed: Unexpected token` ,解决方式如下
```javascript
// 在vue.config.js文件中 transpileDependencies 参数增加需要显示转换的模块名称
// Babel 显式转译列表
{
// ...
transpileDependencies: ["/@ni-web-infra/common-utils/"];
}
```
## License
[](https://app.fossa.com/projects/git%2Bgithub.com%2FNI-Web-Infra-Team%2Fcommon-utils?ref=badge_large)