@l-packages/collection-tools
TypeScript icon, indicating that this package has built-in type declarations

1.0.4-beta.4 • Public • Published

ps:

提交项目代码前先安装 npm install -g commitizen git-cz

提交(发布)规范与设置changlog可以参考https://github.com/lyszxm/changelog-standard === Git Commit 规范及 CHANGELOG 定制生成 - 掘金 (juejin.cn) 通过 standard version 自动化升级版本号、生成 changelog 及 tag standard-version

husky添加commitlint: ps事项 (最好复制黏贴到对应的文件中):

  • echo 'npx --no-install commitlint --edit $1' > ./.husky/commit-msg (注意如果直接放在终端执行的话需要有单引号包裹字符串)

  • npx husky add .husky/commit-msg 'npx --no-install commitlint --edit $1' window下好像用这个可以(同时也与husky版本高低有关) husky官网

    这个命令看起来是用于在提交代码前使用 commitlint 进行提交信息的编辑。commitlint 是一个用于规范化提交信息格式的工具,它能够帮助团队确保提交信息的一致性和可读性。
            
    让我解释一下这个命令的各个部分:
            
    npx: 这是一个 npm 提供的一个工具,用于在不安装全局依赖的情况下执行本地安装的包。这样可以确保使用项目中安装的 commitlint 版本。
            
    --no-install: 这个选项告诉 npx 不要安装任何新的包,而是使用项目中已经安装的包来执行命令。
            
    commitlint: 这是要执行的命令,实际上是通过 npx 来调用 commitlint 工具。
            
    --edit $1: 这个部分可能是用来打开提交信息的编辑界面,并将编辑后的消息传递给 $1 变量。通常情况下,$1 代表提交信息文件,这样可以在编辑后将修改后的消息传递给提交流程。
            
    综合起来,这个命令看起来是为了在提交代码前使用 commitlint 对提交信息进行编辑,以确保符合规范。

支持打包的文件格式

rollup 支持的打包文件的格式(format)有 amd, cjs, es\esm, iife, umd。其中,amd 为 AMD 标准,cjs 为 CommonJS 标准,esm\es 为 ES 模块标准,iife 为立即调用函数, umd 同时支持 amdcjsiife

  • amd – 异步模块加载,适用于 RequireJS 等模块加载器
  • cjs – CommonJS,适用于 Node 环境和其他打包工具(别名:commonjs
  • es – 将 bundle 保留为 ES 模块文件,适用于其他打包工具,以及支持 <script type=module> 标签的浏览器。(别名:esmmodule
  • iife – 自执行函数,适用于 <script> 标签(如果你想为你的应用程序创建 bundle,那么你可能会使用它)。iife 表示“自执行 函数表达式
  • umd – 通用模块定义规范,同时支持 amdcjsiife
  • system – SystemJS 模块加载器的原生格式(别名:systemjs

UMD(Universal Module Definition)是一种用于创建可在不同模块系统中运行的 JavaScript 模块的通用模式。通常,UMD 可以同时支持 AMD、CommonJS(CJS)和全局(IIFE)这三种模块系统

对于 ES Modules(ESM),UMD 本身并不直接支持。ES Modules 是 ECMAScript 2015 引入的官方标准模块系统,用于在现代浏览器和 Node.js 中进行模块化开发。UMD 通常不直接包含对 ES Modules 的支持,因为 ES Modules 与其它模块系统有一些不同的语法和行为。 rollup能输出哪6种格式😥?

命令

  • 具体来说,"serve": "rollup -c -w" 中:

    • "serve" 是该 npm 命令的名称,可以通过在命令行中运行 npm run serve 来执行后面的命令。

    • "rollup -c -w" 是实际执行的命令。其中,rollup 表示执行 Rollup 命令,-c 参数告诉 Rollup 使用配置文件来进行打包。-w 参数表示启动 Rollup 的监听模式,在源代码发生变化时自动重新构建项目并更新浏览器中的页面。

      因此,当你在命令行中运行 npm run serve 时,实际上会执行 rollup -c -w 命令,启动 Rollup 的监听模式,监视源代码文件的变化并自动重新构建项目。这样可以方便地进行前端开发,实现热更新,并且不需要手动运行构建命令。

关于package.json导出的问题(todo:待补充)

  • [ ] 有待补充为什么

package.json 导出、导入和自引用

  "exports": {
    ".": {
      "types": "./dist/cjs/types/src/index.d.ts", // 写成这种就有用
      "import": {
        // "types": "./dist/es/types/src/index.d.ts",(这里写好像是不能进行ts的提示,有待补充为什么)
        "default": "./dist/es/index.js"
      },
      "require": {
        "default": "./dist/cjs/index.js"
      }
    },
    "./utils": {
      "types": "./dist/cjs/types/src/utils/index.d.ts",
      "import": {
        "default": "./dist/es/utils/index.js"
      },
      "require": {
        "default": "./dist/cjs/utils/index.js"
      }
    },

发包

  • pnpm publish --access public发包前 ,需要设置为npm源 :npm config set registry https://registry.npmjs.org/,发完之后即可切换回淘宝源:npm config set registry https://registry.npmmirror.com/

资料文档

文章推荐

Rollup 实践案例【1】:从入门到组件类库的实践过程 - 掘金 (juejin.cn)

(推荐阅读) 一文入门rollup🪀!13组demo带你轻松驾驭 - 掘金 (juejin.cn)

30分钟搞懂Rollup+Typescript工程构建 - 掘金 (juejin.cn)

【实战篇】最详细的Rollup打包项目教程 - 掘金 (juejin.cn)

【前端小知识】Rollup开发一个Npm包,并发布 - 掘金 (juejin.cn)

rollup - 李林可的小面馆的收藏集 - 掘金 (juejin.cn)

一些项目参考

Package Sidebar

Install

npm i @l-packages/collection-tools

Weekly Downloads

3

Version

1.0.4-beta.4

License

MIT

Unpacked Size

517 kB

Total Files

214

Last publish

Collaborators

  • lyszxm