JavaScript 구성 요소 여행(3):Ant 로 구성 요소 구축
18455 단어 JavaScriptAnt구성 요소 구축
이번 호 에 저 희 는 Ant 을 사용 하여 지난 번 에 작성 하고 정리 한 코드 파일 을 지정 한 선후 순서에 따라 단일 한 소스 파일 로 합 친 다음 에 이 파일 을 압축 할 것 입 니 다.자 바스 크 립 트 프로젝트 를 구축 하 는 기본 절차 입 니 다.Ant 는 Apache 의 최고급 오픈 소스 프로젝트 입 니 다.인터넷 에서 그것 에 대한 소개 와 설 치 는 이미 많은 글 이 있 습 니 다.여 기 는 더 이상 군말 하지 않 겠 습 니 다.구축 하기 전에 기 존의 파일 레이아웃 을 살 펴 보 겠 습 니 다:
smart-queue //
+--- src // JavaScript
+--- lang.js // “ ”
+--- smart-queue.js // Smart Queue
이제 우 리 는 그것 을 풍만 하 게 해 야 한다. smart-queue //
+--- lib // JavaScript
+--- yuicompressor.jar // YUI Compressor
+--- test //
+--- src // JavaScript
+--- intro.js //
+--- lang.js // “ ”
+--- smart-queue.js // Smart Queue
+--- README //
+--- LICENSE //
구 축 된 파일 을 구성 요소 루트 디 렉 터 리 에 있 는 build 하위 디 렉 터 리 에 저장 하고 구축 도 구 를 통 해 만 들 고 없 앨 계획 입 니 다.처음 구축 을 시도 하기 전에 Ant 의 프로필 인 build.xml 의 구 조 를 대충 알 아 보 는 것 을 권장 합 니 다.<project name="MyProject" default="dist" basedir=".">
<description>
simple example build file
</description>
<!-- set global properties for this build -->
<property name="src" location="src"/>
<property name="build" location="build"/>
<property name="dist" location="dist"/>
<target name="init">
<!-- Create the time stamp -->
<tstamp/>
<!-- Create the build directory structure used by compile -->
<mkdir dir="${build}"/>
</target>
<target name="compile" depends="init"
description="compile the source " >
<!-- Compile the java code from ${src} into ${build} -->
<javac srcdir="${src}" destdir="${build}"/>
</target>
<target name="clean"
description="clean up" >
<!-- Delete the ${build} and ${dist} directory trees -->
<delete dir="${build}"/>
<delete dir="${dist}"/>
</target>
</project>
자세히 살 펴 보면 name, description
이라는 이름 들 을 제외 하고 다른 볼 수 있 는 규칙 은 다음 과 같다.project
요소 의 default
속성 치 는 특정한 target
요소 의 name
속성 에 대응 합 니 다.target
요소 의 depends
속성 치 는 기타 일부 target
요소 의 name
속성 에 대응 합 니 다.${somename}
은 property
에서 정 의 된 값 을 참조 할 수 있 습 니 다.우선,설정 항목 의 기본 정보 와 관련 디 렉 터 리 이름,사용 할 인 코딩 등:
<project name="Smart Queue" default="compress" basedir=".">
<description>Build file for Ant</description>
<property name="src" location="src" />
<property name="build" location="build" />
<property name="lib" location="lib"/>
<property name="inputencoding" value="utf-8"/>
<property name="outputencoding" value="gbk"/>
이 어 초기 화 에 사용 할 target
을 정의 합 니 다.build 하위 디 렉 터 리 를 만 드 는 것 을 책임 집 니 다: <target name="init">
<mkdir dir="${build}"/>
</target>
그리고 concat
이라는 target
을 정의 하여 src 에 있 는 3 개의 자 바스 크 립 트 파일 을 선착순 으로 연결 합 니 다.실행 하려 면 앞에서 정 의 된 init
: <target name="concat" depends="init">
<concat destfile="${build}/smart-queue.source.js" encoding="${inputencoding}" outputencoding="${outputencoding}">
<filelist dir="${src}" files="intro.js, lang.js, smart-queue.js" />
</concat>
</target>
을 먼저 실행 해 야 합 니 다.이렇게 하면 일 할 수 있 는 JavaScript 파일 을 얻 을 수 있 습 니 다.아래 의
target
은 이 파일 을 압축 하 는 것 을 책임 집 니 다.분명히 concat
에 의존 하고 init
에 의존 하지만 init
에 대한 의존 도 를 명시 적 으로 지정 할 필요 가 없습니다.Ant 는 이러한 의존 관 계 를 처리 할 수 있 습 니 다.YUI Compressor 를 호출 하고 적당 한 인 자 를 입력 합 니 다: <target name="compress" depends="concat">
<java jar="${lib}/yuicompressor.jar" fork="true">
<arg line="--type js --charset utf-8 -o ${build}/smart-queue.js ${build}/smart-queue.js"/>
</java>
</target>
큰 성 과 를 거 두 었 으 니 compress
처리 후의 서 류 는 생산 시스템 에 배치 할 수 있다.마지막 으로 우 리 는 청소 작업 을 해서 당신 이 파일 을 생 성 한 후에 최초의 상태 로 돌아 갈 수 있 도록 합 니 다: <target name="clean">
<delete dir="${build}"/>
</target>
기본 설정 을 다 썼 다 고 할 수 있 습 니 다.어떻게 사용 하나 요?구성 요소 루트 디 렉 터 리(또는 build.xml 이 있 는 디 렉 터 리)에 명령 행 으로 들 어간 다음:ant concat
을 실행 하면./build/smart-quue.source.js 를 얻 을 수 있 습 니 다.ant
을 실행 하고 <project>
에서 default
이 인용 한 target
,즉 compress
을 선택 하여 얻 을 수 있 습 니 다./build 의 smart-quue.source.js 와 smart-quue.jsant clean
을 삭제 합 니 다./build 디 렉 터 리 를 초기 상태 로 되 돌려 줍 니 다 가 는 길에 보 니 이번 호 에 소개 한 것 이 매우 간단 하 다 고 생각 하지 않 습 니까?당연 하 죠.구축 도 구 는 간단 하고 사용 하기 쉬 워 야 합 니 다.그렇지 않 으 면 많은 시간 을 그 위 에 쓰 는 것 이 가치 가 없 지 않 겠 습 니까?도구 의 가 치 는 생산력 을 향상 시 켜 더 많은 가 치 를 창 출하 는 데 있다.
마지막 으로,당신 은 여기,이곳 에서 Ant 의 도움말 문 서 를 볼 수 있 고,여기,이곳 에서 이번 호의 완전한 build.xml 파일 을 볼 수 있 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
기초 정리 - 1문자 (String) 숫자 (Number) 불린 (Boolean) null undefined 심볼 (Symbol) 큰정수 (BigInt) 따옴표로 묶어 있어야 함 Not-A-Number - 숫자 데이터 / 숫자로 표...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.