# pgk-demo

> package demo

Latest version **1.0.0** (published 2022-12-02) · MIT license · 0 weekly downloads

## Install

```sh
npm install pgk-demo
pnpm add pgk-demo
yarn add pgk-demo
bun add pgk-demo
```

## Health

**Score 20/100 (F)** — status: abandoned.

Positive: esm support; no vulnerabilities.

Warnings: low downloads; no types.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.0.0 |
| Published | 2022-12-02 |
| First published | 2022-12-02 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | ESM + CommonJS |
| Dependencies | 0 |
| Unpacked size | 7.4 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | zon |
| Maintainers | zon. |

## Links

- npm: https://www.npmjs.com/package/pgk-demo
- Repository: https://github.com/
- npm.io page: https://npm.io/package/pgk-demo

## Recent versions

- 1.0.0 (latest) — 2022-12-02

## README

plugin

```text
    "rollup-plugin-alias": "^2.2.0", // alias 和 reslove 功能 给路径模块别名
    "rollup-plugin-babel": "^4.4.0", 
    "rollup-plugin-clear": "^2.0.7",
    "rollup-plugin-commonjs": "^10.1.0", // cjs => esm
    "rollup-plugin-json": "^4.0.0",  // 支持在源码中直接引入json文件
    "rollup-plugin-node-resolve": "^5.2.0", // 解析 node_modules 中的模块
    "rollup-plugin-replace": "^2.2.0",
    "rollup-plugin-terser": "^7.0.2",
    "rollup-plugin-eslint": "^7.0.0",
```

eslint验证代码是否符合定义的规范
```
● eslint-plugin-vue：vue.js的Eslint插件（查找vue语法错误，发现错误指令，查找违规风格指南）
● eslint-plugin-prettier：运行更漂亮的Eslint，使prettier规则优先级更高，Eslint优先级低
● eslint-config-prettier：让所有与prettier规则存在冲突的Eslint rules失效，并使用prettier进行代码检查
● @babel/eslint-parser：该解析器允许使用Eslint校验所有babel code

yarn add -D eslint 
// 生成配置文件，.eslintrc.js
npx eslint --init 
```

pretter格式化代码符合定义的规范
```
yarn -D eslint-plugin-prettier prettier eslint-config-prettier
```

```
main 是npm包的主要入口文件，当导入一个包时，实际上就是使用的main指向的地址文件。 
main是遵循commonjs规范的，使用module.exports 。 
module是ESM规范，是前端使用比较多的规范，使用import/export。

如果使用import导入库，最开始匹配module的文件，找不到则使用main指向的文件。 rollup打包工具提供了多种打包格式，可以在output中进行设置。
● amd – 异步模块定义，用于像RequireJS这样的模块加载器
● cjs – CommonJS，适用于 Node 和 Browserify/Webpack
● esm – 将软件包保存为 ES 模块文件，在现代浏览器中可以通过 
● iife – 一个自动执行的功能，适合作为 
● umd – 通用模块定义，以amd，cjs 和 iife 为一体
● system - SystemJS 加载器格式
```
files指定发布包的内容
```
开发过程中，项目文件比较多，包含了src、script、examples、dist等文件。在 npm 发包时，实际发包内容可以在 package.json 中 files 字段进行设置，只需将构建后资源dist(如果需要构建)进行发包，源文件最好不发，这样可以大大要锁安装包时需要下载包的大小。
devDependencies和dependencies的区别
进行日常业务开发时，这两个并无多大区别，因为当执行npm install或者yarn时，这两个配置的包都会进行下载。
对于库开发时，两者会有区别。
当安装一个库文件是 npm install react，就只会安装react项目下dependencies中的依赖，通俗的讲，react的运行是需要这些包的支持，如果不安装这些包，react的功能就无法实现。 devDependencies 下的依赖，只是进行开发是需要进行下载的。
homepage repository bugs等地址
● homepage: 设置git中的地址，如github.com/shenshuai89…
● repository： 设置仓库地址
● bugs：设置bugs的提交地址
```

```
    "major": "npm version major -m 'build: update major'", // 只更新 大版本
    "minor": "npm version minor -m 'build: update minor'", // 只更新 中版本
    "patch": "npm version patch -m 'build: update patch'", // 只更新 小版本
    "pub": "npm run build && npm publish --access=public", // 发布
    "pub:major": "npm run major && npm publish --access=public", // 更新后发布
    "pub:minor": "npm run minor && npm publish --access=public", // 更新后发布
    "pub:patch": "npm run patch && npm publish --access=public" // 更新后发布
```

---
_Source: https://npm.io/package/pgk-demo · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
