了解 github 操作中的 npm 包

Understanding npm packages inside github actions

这是我的想法:构建一个静态网页模板,随着时间的推移将 .md 文件添加到 /posts 目录并构建一个 CI 作业将 .md 文件转换为 html (使用 showdownjs/showdown 包)。 是否需要在每次推送时安装软件包?看起来很浪费,但上传 /node-modules 也是不正确的。有没有办法安装一次包,然后让 github 操作就可以使用它(运行 md 到 html 新添加文件的转换器)?

您有 2 个选择:

  1. 建议:使用缓存操作来缓存项目的依赖项 - 使用来自 package-lock.json 的哈希作为密钥,以确保在依赖项发生更改时重建它:
- name: Cache node modules
  uses: actions/cache@v2
  env:
     cache-name: cache-node-modules
     with:
     # npm cache files are stored in `~/.npm` on Linux/macOS
     path: ~/.npm
     key: ${{ hashFiles('**/package-lock.json') }}

- name: Install Dependencies
  run: npm install
  1. 将您的 node_modules 推送到 Git 存储库,以便它与其他所有内容一起结帐

为了优化需要 运行 您的转换,您可以使用此操作:

https://github.com/tj-actions/changed-files/ 并检测是否有任何文件在特定路径被修改