了解 github 操作中的 npm 包
Understanding npm packages inside github actions
这是我的想法:构建一个静态网页模板,随着时间的推移将 .md 文件添加到 /posts 目录并构建一个 CI 作业将 .md 文件转换为 html (使用 showdownjs/showdown 包)。
是否需要在每次推送时安装软件包?看起来很浪费,但上传 /node-modules 也是不正确的。有没有办法安装一次包,然后让 github 操作就可以使用它(运行 md 到 html 新添加文件的转换器)?
您有 2 个选择:
- 建议:使用缓存操作来缓存项目的依赖项 - 使用来自 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
- 将您的
node_modules
推送到 Git 存储库,以便它与其他所有内容一起结帐
为了优化需要 运行 您的转换,您可以使用此操作:
https://github.com/tj-actions/changed-files/
并检测是否有任何文件在特定路径被修改
这是我的想法:构建一个静态网页模板,随着时间的推移将 .md 文件添加到 /posts 目录并构建一个 CI 作业将 .md 文件转换为 html (使用 showdownjs/showdown 包)。 是否需要在每次推送时安装软件包?看起来很浪费,但上传 /node-modules 也是不正确的。有没有办法安装一次包,然后让 github 操作就可以使用它(运行 md 到 html 新添加文件的转换器)?
您有 2 个选择:
- 建议:使用缓存操作来缓存项目的依赖项 - 使用来自 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
- 将您的
node_modules
推送到 Git 存储库,以便它与其他所有内容一起结帐
为了优化需要 运行 您的转换,您可以使用此操作:
https://github.com/tj-actions/changed-files/ 并检测是否有任何文件在特定路径被修改