You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
95 lines
1.9 KiB
Markdown
95 lines
1.9 KiB
Markdown
|
|
# @haina/npm
|
|
|
|
可复用的 npm 模块
|
|
支持 `ESM`(import) 和 `CommonJS`(require)
|
|
|
|
## Dev
|
|
|
|
### Package Structure
|
|
|
|
```
|
|
├─build
|
|
│ ├─cjs
|
|
│ └─esm
|
|
├─dist
|
|
│ ├── haina-npm-0.1.0.tgz
|
|
│ ├── hooks-0.1.0.tgz
|
|
│ ├── utils-0.1.0.tgz
|
|
│ ├── utils-commons-0.1.0.tgz
|
|
│ └── utils-request-0.1.0.tgz
|
|
└─src
|
|
├─ index.js
|
|
├─ hooks/
|
|
└─ utils/
|
|
```
|
|
|
|
### Build & Pack
|
|
|
|
```sh
|
|
# 打包各模块
|
|
npm run pack
|
|
|
|
# 打包整个项目(各模块和root)
|
|
npm run pack:all
|
|
```
|
|
`npm run pack` 包含执行以下:
|
|
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` …
|
|
|
|
`npm run pack:all` 增加执行:
|
|
3. 打包整个项目(root) --> `haina-npm-0.1.10.tgz`
|
|
|
|
### Serve
|
|
|
|
#### FTP
|
|
|
|
脚本winscp-upload.bat 需要winscp客户端
|
|
```sh
|
|
cd scripts
|
|
.\winscp-upload.bat
|
|
```
|
|
|
|
## Usage
|
|
|
|
### 安装整个包
|
|
|
|
```sh
|
|
npm install https://research.hainatravel.com/npm/haina-npm-0.1.0.tgz
|
|
```
|
|
|
|
```js
|
|
//
|
|
import { commons, request, utils, hooks } from '@haina/npm';
|
|
|
|
// Import only common utilities from root tarball package
|
|
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 https://research.hainatravel.com/npm/utils-0.1.0.tgz
|
|
npm install https://research.hainatravel.com/npm/hooks-0.1.0.tgz
|
|
```
|
|
|
|
|
|
```js
|
|
import { commons, request } from '@haina/utils';
|
|
```
|
|
|
|
### 安装Utils的子模块
|
|
|
|
```sh
|
|
npm install https://research.hainatravel.com/npm/utils-commons-0.1.1.tgz
|
|
```
|
|
|
|
```js
|
|
import { isEmpty } from '@haina/utils-commons';
|
|
```
|