如何解决如何使用GitHub Actions自动发布Typescript包?
每当我将代码推送到master分支时,我都在使用GitHub操作自动发布npm package。问题出在我的.gitignore
中,已经添加了/dist/
文件夹。因此,当我将代码推送到云时,它会忽略dist
文件夹,而我只希望发布dist文件夹。我该怎么做?
我尝试使用npm install
和npm run build
在云中创建一个dist
文件夹,然后发布该程序包,但是它不起作用。它不会创建编译版本。
我看到的唯一解决方案是从/dist/
中删除.gitignore
并将其上传到云中,但是还有其他方法可以忽略dist并使用Github Actions将其自动发布到npm吗? >
这是我的.yml
文件
name: NPM Publish
on:
push:
branches:
- master
jobs:
release:
name: Pubish
runs-on: ubuntu-latest
steps:
- name: ⏬ checkout
uses: actions/checkout@v2.1.1
- name: ? Node
uses: actions/setup-node@v1.4.2
with:
node-version: 12
registry-url: https://registry.npmjs.org
- name: ? Publish
run: npm publish --access public
env:
NODE_AUTH_TOKEN: ${{secrets.NPM_AUTH_TOKEN}}
解决方法
您必须先构建它,然后才能在package.json文件中发布或添加预发布脚本。
即:
- name: Build
run: npm run build
- name: ? Publish
run: npm publish --access public
或 在package.json
...
"scripts": {
...
"prepublish": "npm run build",}
之所以不进行构建,是因为它没有node_modules,因此您还需要安装它们并理想地使用缓存。
因此,在构建之前,您需要添加到yaml文件中。
- name: install
run: npm install
或者如果您使用的是锁定文件(对于软件包不理想)
- name: install
run: npm ci
请尝试也使用缓存而不是使npm注册表过载。
,我遇到了类似的问题。在我完成这里写的所有内容后,action 不会将 dist/ 文件夹添加到 npm。解决方案是创建 .npmignore 文件并添加到 tsconfig.json 和所有 ts 文件(*.ts)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。