>  기사  >  웹 프론트엔드  >  Shelljs를 사용하여 자동화된 프런트엔드 배포를 구현하는 방법

Shelljs를 사용하여 자동화된 프런트엔드 배포를 구현하는 방법

不言
不言원래의
2018-08-18 11:15:534044검색

이 기사의 내용은 shelljs를 사용하여 프런트엔드 자동 배포를 구현하는 방법에 대한 내용입니다. 필요한 친구가 참고할 수 있기를 바랍니다.

1. 시나리오

프론트엔드 개발 과정에서는 다음 명령을 자주 사용해야 합니다.

npm run build
git add .
git commit -m 'commit'
git push
#🎜 🎜 #개인 블로그를 작성하기 위해 vue-cli를 사용할 때 코딩 페이지에 배포합니다. github 페이지를 사용하지 않는 이유는 순전히 속도가 느리기 때문입니다. . . 배포할 때마다 위 명령을 다시 입력해야 하는데, 이는 정말 고통스럽습니다. 위의 작업을 하나의 명령으로 모두 수행할 수 있다면 훨씬 좋을 것입니다.

vue-cli写我的个人博客时,将其部署到coding pages上。不用github pages的原因纯粹是因为慢。。。每一次部署,都要将上面的命令敲一遍,实在令我很痛苦。如果能用一条命令执行以上所有任务,那就爽多了。

话不多说,说干就干。

二、Shelljs

这个库能够让我们在js文件中执行shell命令,具体可以看文档。

安装

npm install [-g] shelljs

有两种使用方式,一种是全局模式(对应全局安装),一种是局部模式。看下面的使用案例就知道两者区别。

三、使用

在根目录下新建文件shell.js,内容如下:

//局部模式
var shell = require('shelljs');
//全局模式下,就不需要用shell开头了。
//require('shelljs/global');

if (shell.exec('npm run build').code !== 0) {//执行npm run build 命令
  shell.echo('Error: Git commit failed');
  shell.exit(1);
}

//由于我的用另外一个仓库存放dist目录,所以这里要将文件增量复制到目标目录。并切换到对应目录。
shell.cp ('-r', './dist/*', '../../Rychou');
shell.cd('../../Rychou');

shell.exec('git add .');
shell.exec("git commit -m 'autocommit'")
shell.exec('git push')

这时在根目录下执行node shell.js就可以了

这里只是最简单的使用案例。

四、再让它更方便些

package.json中加入:

"script":{
+    "push":"node ./shell.js"
}

在根目录下执行npm run push말을 많이 하지 말고 시키는 대로 하세요.

2. Shelljs

이 라이브러리를 사용하면 js 파일에서 쉘 명령을 실행할 수 있습니다. 문서.

설치

rrreee사용하는 방법은 두 가지가 있는데, 하나는 글로벌 모드(글로벌 설치에 해당)이고, 다른 하나는 로컬 모드입니다. 아래 사용 사례를 보면 둘 사이의 차이점을 알 수 있습니다.

3.

을 사용하여 다음 내용으로 루트 디렉터리에 새 파일 shell.js를 만듭니다. : #🎜🎜 #rrreee이때 루트 디렉터리에서 node shell.js를 실행하면 됩니다.

이것은 가장 간단한 사용 사례입니다. #🎜🎜##🎜🎜##🎜🎜# 넷째, 더 편리하게 만들기 #🎜🎜##🎜🎜##🎜🎜#package.json에 추가: #🎜🎜# rrreee#🎜 🎜#루트 디렉터리에서 npm run push를 실행하면 완료됩니다. #🎜🎜##🎜🎜#관련 권장 사항: #🎜🎜##🎜🎜##🎜🎜#Kickstart 기반 Hadoop 클러스터 자동 배포#🎜🎜##🎜🎜##🎜🎜##🎜🎜##🎜🎜 # php + Laravel 배포 자동화 구현 방법#🎜🎜##🎜🎜##🎜🎜##🎜🎜##🎜🎜#php5.3.10 자동 배포 스크립트 초판_PHP 튜토리얼#🎜🎜##🎜🎜#

위 내용은 Shelljs를 사용하여 자동화된 프런트엔드 배포를 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.