여러 JavaScript 파일을 하나의 JS 파일로 결합 [닫기]
웹 응용 프로그램에서 jquery를 사용하고 더 많은 jquery 펼치기 파일을 단일 페이지에로드해야합니다.
Google은 모든 jquery 펼쳐 파일을 단일 파일로 결합 할 제안 제안했습니다.
어떻게 할 수 있습니까?
Linux에서는 간단한 셸 펼쳐 https://github.com/dfsq/compressJS.sh 를 사용하여 여러 javascript 파일을 단일 파일로 결합 할 수 있습니다 . Closure Compiler 온라인 서비스를 사용하여 빠른 검색 결과도 예약 압축됩니다.
$ ./compressJS.sh some-script.js another-sctipt.js onemore.js
텍스트 파일을 결합한 다음 YUI Compressor 와 같은 것을 사용하십시오 .
명령을 사용하여 파일을 쉽게 결합 할 수있는 cat *.js > main.js
.js를 사용하여 YUI 압축기를 통해 main.js를 사용 가능 java -jar yuicompressor-x.y.z.jar -o main.min.js main.js
합니다.
2014 년 8 월 업데이트
이제 다양한 인터페이스와 최소한의 구성으로 Java 확장 연결 및 압축을 위해 Gulp 를 사용하여 구성합니다 . 언어 설정, coffeescript 실행 등의 작업은 물론 JS 압축과 같은 작업을 수행 할 수 있습니다.
Google 클로저 컴파일러를 사용합니다.
http://code.google.com/closure/compiler/docs/gettingstarted_ui.html
다음을 통해이 작업을 수행 할 수 있습니다.
- ㅏ. 수동 : 모든 자바 펼쳐 파일을 하나로 복사하고 압축 프로그램을 실행하고 ( 선택 사항이지만 권장 됨 ) 서버에 업로드하고 해당 파일에 연결합니다.
- 비. PHP 사용 : 모든 JS 파일과
include
모든 파일의 배열을 생성 하고<script>
태그 로 출력
나는 보통 그것을 가지고 있습니다 Makefile
:
# All .js compiled into a single one.
compiled=./path/of/js/main.js
compile:
@find ./path/of/js -type f -name "*.js" | xargs cat > $(compiled)
그런 다음 다음을 실행합니다.
make compile
도움이되기를 바랍니다.
Linux https://github.com/eloone/mergejs 에서이 쉘 펼쳐보기를 사용합니다 .
위의 펼쳐 놓고 사용할 때 사용하기가 매우 요약 파일 장점이 있고, 큰 장점은 병합하려는 js 파일을 명령 줄이 아닌 입력 텍스트에 할 수있는 파일을 병합 할 때마다 입력 할 수 있습니다. 필요가 없습니다. 단계에 적용 할 때 마다이 단계를 반복하는 것이 매우 편리합니다. 목록에서 병합하지 않을 파일에 주석을 달 수도 있습니다. 입력 할 가능성이 가장 높은 명령 줄은 다음과 있습니다.
$ mergejs js_files_list.txt output.js
그리고 병합 된 결과 파일도 압축 후 다음을 수행하십시오.
$ mergejs -c js_files_list.txt output.js
이것은 output-min.js
Google의 클로저 컴파일러에 의해 축소됩니다. 또는 :
$ mergejs -c js_files_list.txt output.js output.minified.js
축소 된 파일의 특정 이름을 원하는 경우 output.minified.js
간단한 웹 사이트에 정말 유용하다고 생각합니다.
스크립트 그룹화는 비생산적이므로 http://yepnopejs.com/ 또는 http://headjs.com 과 같은 것을 사용하여 병렬로로드해야합니다 .
이 스크립트를 메모장에 복사하고 .vbs 파일로 저장합니다. 이 스크립트에 .js 파일을 끌어다 놓습니다.
추신. 이것은 창에서만 작동합니다.
set objArgs = Wscript.Arguments
set objFso = CreateObject("Scripting.FileSystemObject")
content = ""
'Iterate through all the arguments passed
for i = 0 to objArgs.count
on error resume next
'Try and treat the argument like a folder
Set folder = objFso.GetFolder(objArgs(i))
'If we get an error, we know it is a file
if err.number <> 0 then
'This is not a folder, treat as file
content = content & ReadFile(objArgs(i))
else
'No error? This is a folder, process accordingly
for each file in folder.Files
content = content & ReadFile(file.path)
next
end if
on error goto 0
next
'Get system Temp folder path
set tempFolderPath = objFso.GetSpecialFolder(2)
'Generate a random filename to use for a temporary file
strTempFileName = objFso.GetTempName
'Create temporary file in Temp folder
set objTempFile = tempFolderPath.CreateTextFile(strTempFileName)
'Write content from JavaScript files to temporary file
objTempFile.WriteLine(content)
objTempFile.Close
'Open temporary file in Notepad
set objShell = CreateObject("WScript.Shell")
objShell.Run("Notepad.exe " & tempFolderPath & "\" & strTempFileName)
function ReadFile(strFilePath)
'If file path ends with ".js", we know it is JavaScript file
if Right(strFilePath, 3) = ".js" then
set objFile = objFso.OpenTextFile(strFilePath, 1, false)
'Read entire contents of a JavaScript file and returns it as a string
ReadFile = objFile.ReadAll & vbNewLine
objFile.Close
else
'Return empty string
ReadFile = ""
end if
end function
orangutancloud가 제안한대로 Closure-compiler를 사용할 수 있습니다. 실제로 JavaScript를 컴파일 / 축소 할 필요 가 없으며 JavaScript 텍스트 파일을 단일 텍스트 파일로 간단히 연결하는 것이 가능해야 한다는 점을 지적 할 가치가 있습니다. 일반적으로 페이지에 포함 된 순서대로 가입하면됩니다.
PHP를 실행하는 경우 CSS와 JS 모두에 대해 즉석에서 결합하고 축소하므로 Minify를 권장 합니다. 구성한 후에는 정상적으로 작동하고 모든 것을 처리합니다.
KjsCompiler를 사용할 수 있습니다 : https://github.com/knyga/kjscompiler Cool 종속성 관리
내가 만든 스크립트를 사용할 수 있습니다. 그래도 이것을 실행하려면 JRuby가 필요합니다. https://bitbucket.org/ardee_aram/jscombiner(JSCombiner ).
이것이 다른 점은 자바 스크립트의 파일 변경 사항을 감시하고 선택한 스크립트에 자동으로 결합한다는 것입니다. 따라서 테스트 할 때마다 자바 스크립트를 수동으로 "빌드"할 필요가 없습니다. 도움이 되었기를 바랍니다. 저는 현재 이것을 사용하고 있습니다.
이것은 약간의 노력 일 수 있지만 codeplex에서 내 오픈 소스 위키 프로젝트를 다운로드 할 수 있습니다.
http://shuttlewiki.codeplex.com
여기에는 http://yuicompressor.codeplex.com/ 프로젝트 를 사용하는 CompressJavascript 프로젝트 (및 CompressCSS)가 포함되어 있습니다 .
코드는 설명이 필요하지 않지만 파일을 결합하고 압축하는 것이 조금 더 간단합니다 .--- 어쨌든 나에게는 :)
ShuttleWiki 프로젝트는 빌드 후 이벤트에서 사용하는 방법을 보여줍니다.
참고 URL : https://stackoverflow.com/questions/5511989/combine-multiple-javascript-files-into-one-js-file
'IT' 카테고리의 다른 글
설치에 존재하지 않는 경우에만 고용주 파일 생성 (0) | 2020.09.14 |
---|---|
== PHP에서 대소 문자 식별 비교입니까? (0) | 2020.09.14 |
Java에서 정수 나누기 (0) | 2020.09.14 |
Column에 Cell 값이 있는지 확인한 다음 NEXT Cell의 값을 가져옵니다. (0) | 2020.09.14 |
Console.WriteLine () 및 너무 많은 인수 오버로드가 필요하십니까? (0) | 2020.09.14 |