|
|
|
|
|
|
|
|
|
|
|
|
|
|
# @haina/npm
|
|
|
|
|
|
|
|
|
|
可复用的 npm 模块
|
|
|
|
|
支持 `ESM`(import) 和 `CommonJS`(require)
|
|
|
|
|
|
|
|
|
|
## Dev
|
|
|
|
|
|
|
|
|
|
### Package Structure
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
src/
|
|
|
|
|
├── utils/
|
|
|
|
|
│ ├── common.js
|
|
|
|
|
│ └── request.js
|
|
|
|
|
├── hooks/
|
|
|
|
|
│ ├── useXx.js
|
|
|
|
|
│ └── useYy.js
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### Build & Pack
|
|
|
|
|
|
|
|
|
|
```sh
|
|
|
|
|
# 打包各模块
|
|
|
|
|
npm run pack
|
|
|
|
|
|
|
|
|
|
# 打包各模块和root
|
|
|
|
|
npm run pack:all
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
1. 生成导出文件 `index.js`
|
|
|
|
|
2. 创建`ESM`和`CommonJS` 版本
|
|
|
|
|
3. 打包
|
|
|
|
|
1. 打包`src`下的子文件夹 --> `hooks-0.1.10.tgz` `utils-0.1.10.tgz` …
|
|
|
|
|
2. `src/utils`下的模块, 分别单独打包 --> `utils-request-0.1.10.tgz` `utils-commons-0.1.10.tgz` …
|
|
|
|
|
3. 打包整个项目(root) --> `haina-npm-0.1.10.tgz`
|
|
|
|
|
|
|
|
|
|
### Serve
|
|
|
|
|
|
|
|
|
|
#### FTP
|
|
|
|
|
|
|
|
|
|
#### Github Action
|
|
|
|
|
|
|
|
|
|
## Usage
|
|
|
|
|
|
|
|
|
|
### 安装整个包
|
|
|
|
|
|
|
|
|
|
```sh
|
|
|
|
|
npm install http://xxxx/npm/haina-npm-0.1.0.tgz
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
```js
|
|
|
|
|
//
|
|
|
|
|
import { commons, request, utils, hooks } from '@haina/npm';
|
|
|
|
|
// Import only common utilities
|
|
|
|
|
import { isEmpty } from '@haina/npm/esm/utils/commons.js';
|
|
|
|
|
// Import only request utilities
|
|
|
|
|
import { fetchJSON } from '@haina/npm/esm/utils/request.js';
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### 安装单个模块
|
|
|
|
|
|
|
|
|
|
```sh
|
|
|
|
|
npm install http://xxxx/npm/utils-0.1.0.tgz
|
|
|
|
|
npm install http://xxxx/npm/hooks-0.1.0.tgz
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
```js
|
|
|
|
|
import { commons, request } from '@haina/utils';
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### 安装Utils的子模块
|
|
|
|
|
|
|
|
|
|
```sh
|
|
|
|
|
npm install http://xxxx/npm/utils-commons-0.1.0.tgz
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
```js
|
|
|
|
|
import { isEmpty } from '@haina/utils-commons';
|
|
|
|
|
```
|