Javascript 파일을 다른 통합자에서 포함시키십시오 JavaScript 파일을 어떻게 합니까?
뭔가 다른 자바스크립트 비슷한 '의 JavaScript 파일을 포함할 수 있는' @import CSS δ1 다른 JavaScript 파일을?
4870
58
뭔가 다른 자바스크립트 비슷한 '의 JavaScript 파일을 포함할 수 있는' @import CSS δ1 다른 JavaScript 파일을?
이전 버전의 없었고, 그래서 많은 다양한 방식, 또는 요구하는 임포트합니다 JavaScript 포함시키십시오 이 문제에 대한 개발해 왔다. 하지만 2015년 (es6), javascript 가 경식도 [es6 모듈에서는] (http://exploringjs.com/es6/ch_modules.html) 에서 지원하는 모듈을 표준 가져오기할 node. js, 수도 있는 [대부분의 최신 브라우저] (https://caniuse.com/ # 성과 = es6 모듈에서는). 오래된 브라우저 호환성을 위해, 내용] (https://webpack.github.io/) 및 / 또는 [트란스필라티온] (https://babeljs.io/) 도구를 사용할 수 있습니다.
ES6 모듈에서는
ECMAScript (ES6) 모듈을 통해 '에서' 이후 지금까지 node. js v8.5 실험 모듈 플래깅. 관련된 모든 파일이 있어야 합니다 '' 오마이스 확장자입니다.
ECMAScript 모듈에서는 브라우저에서
그동안 직접 ECMAScript 모듈에서는 로드을 대한 지원 브라우저 (no 같은 도구를 웹팩 필요) [후] (https://jakearchibald.com/2017/es-modules-in-browsers/), 구글 크롬, 파이어폭스, 사파리 10.1 60, 61 및 면쪽 16. 현재 지원 부서 확인란 [카니우스] (https://caniuse.com/ # 성과 = es6 모듈에서는).
자세한 정보 dell. https://jakearchibald.com/2017/es-modules-in-browsers/
동적임 브라우저에 임포트합니다.
필요에 따라 다른 스크립트에만 로드하십시오 동적임 임포트합니다 스크립트입니다 하겠습니다.
자세한 정보 dell. https://developers.google.com/web/updates/2017/11/dynamic-import
Node. js 합니다.
여전히 널리 사용되고 있는 오래된 스타일의 임포트하지 모듈에서는 node. js 는 [module.exports/require] (https://nodejs.org/api/modules.html) 시스템.
다른 방법도 있습니다 브라우저에 대한 내용을 포함하는 JavaScript 를 필요로 하지 않는 외부 JavaScript 전처리.
아약스 로드중
Ajax 호출을 사용할 수 있습니다 다음 '평가' 를 추가로 로드하십시오 스크립트입니다 하기 때문이다. 하지만 이것이 가장 직설적으로 제한되는지 데이터베이스에구성원을 도메인임 슬픔으로창백해지고 JavaScript 스캔박스 보안 모델. 또한 '평가' 를 사용하여 문을 열 버그, hacks 및 보안 문제.
로드을 페치할
하나 이상의 스크립트에만 같은 동적 임포트합니다 함께 로드할 수 있습니다 '약속' 페치할 콜을 사용하여 실행 순서에 대한 컨트롤입니다 스크립트입니다 종속물과의 [페치할 투입] (https://git.habd.as/jhabdas/fetch-inject) 라이브러리:
jQuery 로드중
이 jQuery library) 은 로딩 기능을 한 줄:
동적임 스크립트입니다 로드중
태그로 HTML 에 uirl 스크립트입니다 스크립트입니다 추가할 수 있다. Jquery 오버헤드를 피하기 위해, 이상적인 솔루션입니다. 서로 다른 서버에서 스크립트입니다 있을 수도 있습니다. 또한 코드 있지만브라우저에 평가합니다. 이 ',' 태그 '에 투입될 수 있는 웹 페이지, script> < 인컨텍스트 < head>', ',', 또는 삽입됨 직전 닫기와 /body> 태그이고, <. 이 예는 여기 어떻게 할 수도 있다.
이 기능은 추가하기에서는 새 ',' 태그번호 script> <, 끝까지 헤드입니다 섹선에서 페이지 URL 에 있는 ',' src 속성을 설정되었습니다 역할을 주어지는 첫 번째 매개변수입니다. 이 솔루션은 모두 함께 설명한 JavaScript Madness: 동적 스크립트입니다 로드중.
때 csetup 스크립트입니다 감지할 수 있다.
이제 알면 큰 문제가 없다고 합니다. 너회가 원격으로요 읽어들입니다 코드의 그렇게 할 수 있음을 시사했다. 현대의 모든 웹 브라우저에서 실행 파일을 불러올 것입니다, 항상 비동기적으로 로드하십시오 성능 향상을 위해 현재 스크립트입니다 있기 때문이다. (이 두 방법 및 수동 동적임 스크립트입니다 qic 로드중 방법을 포함한다.)
그런 다음 페이지를 다시 로드하십시오 < F5< /kbd>;;; kbd> 많다. 및 작동하잖아! 혼란스럽다.
그런 다음 코드를 기록하십시오 스크립트입니다 로드되었는지 후 사용할 수 있는 람다 함수:
그런 다음 모두실행 다음과 같이 밝혔다:
참고로, 스크립트가 실행 후, 또는 전에는요, DOM 은 브라우저와 작성하든지 선 '에 따라 로드되었는지 스크리pt.라인스 = false;'. S # 39, there& [멋지구리해요 기사를 일반적으로 Javascript 로드중] (http://www.html5rocks.com/en/tutorials/speed/script-loading/) 이 있는 ich5r.
Merge/Preprocessing 소스 코드
이 질문에 맨 위에 언급한 것처럼, 많은 개발자가 되기 위해, 또는 바벨 (s) / 트란스필라티온 구축하십시오 웹팩 같은 도구를 사용할 수 있게 되어, 이번 프로젝트에 대한 하위 호환성을 제공하는 구문, JavaScript, 이전 버전의 브라우저와 파일 결합, 작게 하다 실행하십시오 코드 분할 상술합니다.
만약 누군가 레키레이스 (try out), 좀 더 고급 찾고 있다. # 39, ll get 추가되든지 you& 방지 등의 혜택을 상관 관계 관리, 더 나은 복제에서는 동시성 (즉, 검색 스크랩트 두 번 이상).
Javascript 파일을 ", modules" 작성할 수 있습니다. 그 후 참조입니다 솔리드로 종속물과의 스크립트입니다. 또는, 받아들이는 단순한 " afaq afnor script" 검색하기를 레키레이스 사용할 수 있습니다. 솔루션.
예:
모듈로 종속도를 정의합니다.
, 는 자신의 " 림프레멘테이션.j스 main". Some-dependency.js javascript 파일을 의존하는
2 의 [깃허브] 발췌문 추가 정보:
>. 물론 일반 JavaScript 파일을 더 정의된 레키레이스 로드되는지 >. 모듈에서는. 이는 사용할 수 있도록 최적화됩니다 등 내장 웹 >. 하지만, 근로자 등 기타 JavaScript 에서 사용할 수 있는 환경, >. 라이노 및 노드입니다. 비동기적입니다 모듈에서는 apiu 구현합니다. >. >. 일반 스크립트입니다 레키레이스 /dev/raw/raw1 주기표시 로드하기에 모듈에서는 / 파일, 그렇게 해야 합니다. >. 디버깅하지 쉽게 사용할 수 있습니다. 단순히 기존 로드하기에 사용할 수 있습니다 >. 기존 없이 프로젝트를 도왔으매 javascript 파일을 추가할 수 있습니다 >. 다시 쓰기 너회의 JavaScript files. 필요 >. >. .
실제로 is JavaScript 파일을 로드할 수 있는 방법이 있을 수 있도록 기능을 사용할 수 있는 not 비동기적으로 새로 포함된 모든 브라우저에서 파일 로드되었는지 직후 정보기술 (it), 로드중 작동하잖아 생각한다.
이케리스타펀트 () ',' 를 사용해야 할 때 ',' 요소, 즉 < head> 페이지에.
그러나 이 방법은 또한 문제: [파이어버그] [1] 에서 오류가 발생할 경우 임포트된 JavaScript 파일을 (또한 오류 콘솔 및 크롬 개발자 도구 Firefox 에서도 배치하십시오 보고하고 그 잘못 사용할 경우, 이는 큰 문제가 방화범 추적하기 위해 JavaScript 오류뿐만 다운되어도 많이유 (나는한다). # 39, 방화범 doesn& 단순히 어떤 이유로 새로 로드되었는지 대해서는 알 수 없는 오류가 발생하면 그 파일을 파일 때문에 발생한 것이어서 이 보도에 따르면, 주 업무는 HTML 파일이므로 어려움을 아웃해야 합니다 진짜 이유는 오류가 발생합니다.
그런 후 이 방법은 없는 신앙이니라 문제를 해결하기 위해 노력해야 합니다.
I have a $ .import_js () 이 방법을 사용하는 것을 실제로 기록되었으므로 플러그인에는 포함한다.
따라서 모든 가져오기할 JavaScript 가 해야 할 것입니다.
예 제가 베지로프도 간단한 테스트를 엔드입니다 emc.
여기에는 '맹자이스' 에서 '는' 다음 주 HTML 파일을 스크립트입니다 맹자이스 가져오기할 니클uded.j스 ',' $ .import_js 추가로 파일 ' ()' 이 함수를 정의하는.
이 직후 ',' 및 '등 니클uded.j스 누구없어요 ()' 기능을 호출됨 및 확보하십시오 걸렸다.
(이 질문에 대한 응답으로 # 39 는 e-satis&. 주석문입니다).
[1]: http://en.wikipedia.org/wiki/Firebug_% 28software% 29
제 생각에는 있는 다른 방법을 사용하는 대신, Ajax 요청을 동기 보다 깔끔할거야 수 있다 ',' 태그이고, script> <. [Node. js] [1] 에서 처리하는 방법을 수도 있는 내용.
39 에 사용한 예는 here& 포함한다.
좋은 소식이 있을 수 있습니다. 곧 로드하기에 JavaScript 코드를 쉽게 수행할 수 있습니다. 또 표준으로 자리잡을 것으로, 핵심 모듈 임포트하지 길을 JavaScript 코드를 일부라야 JavaScript 할 수 있다.
39, & # 39 에서 cond.js& 임포트합니다 쓰지 않을 됩니다 '조건' 조건 '에서' 콘d.j스 파일 이름이 '매크로 로드하기에;;)'.
39 수밖에 없는 don& 있도록 해야 할 때, 모든 자바스크립트 프레임워크 disk_b_s10database 명시적으로 [아약스] [1] 있다.
) 는 다음과 같은 뜻이 있다.
[모듈 로더,] [3] *
[1]: http://en.wikipedia.org/wiki/Ajax_% 28programming% 29
[3]: harmony:module_loaders? id = http://wiki.ecmascript.org/doku.php
Html 문서를 동적으로 생성하는 것이 다른 JavaScript 코드를 내부에서 JavaScript 태그번호 덧붙입니다. 이 목표화된 JavaScript 파일을 불러올 것입니다.
기술서임을 '가져오기의') 는 ecma 스크립트 6.
문법
아마 내가 찾은 이 페이지에 있는 이 기능을 사용할 수 있습니다 [JavaScript 파일을 포함) 의 javascript 파일을 어떻게 합니까?] [1] :
[1]: http://forums.digitalpoint.com/showthread.php? t = 146094
이것은 동기 없이 버전을 포함한다.
그냥 작성했습니까 이 JavaScript 코드를 사용하여 프로토타입 의 DOM 조작):
사용법:
사진을: http://gist.github.com/284442.
39 는 유비쿼터스 it 에 대한 일반화 버전니다 here& 어떻게 그들의 페이스북 좋아요 버튼:
<! - begin 스니핏: js 숨기십시오: > 거짓값 -;
끝 - < 스니핏 >;!
페이스북 (facebook), 정보기술 (it) 의 경우 작동하잖아 사용할 수 있습니다.
첫 번째 이유는 우리가 '대신' 헤드 '또는' 바디입니다 포착하십시오 스크립트입니다 '요소' 가 있지만, 일부 누락된 경우 브라우저 don& 때문에 t # 39 생성하시겠습니까 we& # 39, re 보장할 수 있는 요소 - 스크립트입니다 '' 이 번호요. 자세한 정보 dell. http://www.jspatterns.com/the-ridiculous-case-of-adding-a-script-element/.
'' 순수 JavaScript 에서 스케쳐내 document. write 사용할 수 있습니다.
Jquery 라이브러리를 사용하는 경우 '$ 그제스크리프트' 방법을 사용할 수 있습니다.
PHP 어셈블하는 스크립트에서 사용할 수도 있습니다.
파일 '맹.js.프프':
대부분 이 슬라이드에서는 솔루션뀉뀉뀉뀉 로드을 동역학적 것은 아니다. 제가 쓰고 있는 모든 파일을 하나의 파일에 대한 검색 대신 컴파일러와의 어셈블합니다 출력입니다. 동일합니까 [덜] [1] / [자스] [2] 전처리기 계약을 체결한 데 이어 @import CSS '' dell. 규칙. # 39, 아무것도 찾을 수 없는데, 내가 하도 didn& t 이 문제를 해결하는 간단한 도구를 정렬하려면 썼다.
여기서는 컴파일러, https://github.com/dsheiko/jsic, (file-path" ";) '를 대체할 수 있는' $ 가져오기의 요청되었습니다 파일 내용을 안전하게. 다음은 해당 꿀꿀 플러그인에는: https://github.com/dsheiko/grunt-jsic.
Jquery 의 마스터 분기로의 내릴 때, 소스 파일을 하나의 연결 () 이다 '와' 한 '로 시작하는 린트로지제스 우스트로지제스'. 그 날, t # 39 의 소스 코드를 제공하는 만큼 잘 doesn& 디자인 유연성을 발휘할 수 없습니다. 어떻게 함께 체크아웃합니다 작동하잖아 제시카:
이제 실행하십시오 컴파일러와의:
전체 파일 및 내려받습니다
[1]: http://en.wikipedia.org/wiki/Less_% 28stylesheetlanguage% 29 [2]: http://en.wikipedia.org/wiki/Sass% 28stylesheet_language% 29
글로바라자이스
file1.js
file2.js
맹자이스
방금 조심해야 할 수 있는 HTML 파일을 포함할 경우에는 스크립트에만. 아래에 있는 순서 같아야 합니다.
이 어떻게해야합니다:
대신, 또는 실행 시 전에 스크립트를 사용하여 연결 등 업로드입니다.
내가 사용하는 톱니 (I don& # 39, t 다운로드되었는지 경우도 있을 수 있습니다). Javascript 코드를 너회가 구축해보십시오 별도의 파일에 의해 처리되는 대로 톱니 engine, 다양한 의견이 있습니다. 그 후 개발을 위한 파일을 순차적으로 생산 병합하려면 포함할 수 있습니다.
참고:
1 및 [웹 근로자들은요] 사용하는 경우에 대비해 추가적인 스크립트를 포함할 범위에 대한 해답을 제공하는 '머리' 를 추가 스크립트에만 작업자, 다른 태그 등을 당신꺼에요 작동하지 않습니다.
다행히 [웹 근로자들은요 나름의 '임포르츠립츠' 기능을] [2] 원하는거요 노드전역 기능을 기본 웹 브라우저에 대한 범위에 작업자, 자신을 그 [일부인 사양명세] [3].
또는 tpc. 투표를 위해 오토메이티드 강조표시합니다 두 번째로 높은 질문, 레키레이스 스크립트에만 처리할 수 있는 등 웹 전문가 (호출하십시오 임포르츠립츠 것 자체가 다른 몇 가지 유용한 기능을 갖추고 있지만, '').
[2]: # Importing_scripts_and_libraries https://developer.mozilla.org/en-us/docs/web/api/web_workers_api/basic_usage [3]: https://html.spec.whatwg.org/multipage/workers.html # 임포트하지 스크립트에만 및 라이브러리
하지만 제가 이 질문에 응답을 통해 당혹스럽게, 간단한 문제가 있었습니다.
난 이미 변수 (myVar1) 에 정의된 (미바리아브레스트제스) 의 JavaScript 파일을 사용하도록 한 다른 자바스크립트 파일 (맹자이스).
이를 위해 다음과 같이 했어요.
로드됨 JavaScript 코드를 HTML 파일, 올바른 순서로 미바리아브레스트제스 먼저 맹자이스:
파일: 미바리아브레스트제스
파일: 맹자이스
난 이미 살펴본 한 또 다른 변수로, JavaScript 파일을 사용하여 JavaScript 파일을 포함, t need to, but I didn& # 39 한 또 다른. 그냥 데 필요한 첫 번째 JavaScript 파일이 로드됨 JavaScript 파일이므로 # 39 의 첫 번째 JavaScript file& 후 두 번째, 두 번째 JavaScript 파일을 자동으로 com/go/4e6b330a_kr 액세스할 수 있습니다.
이 구해줬으니 날이라니까요 이렇게 하면 좋겠다.
이 '와 같은 도구를 사용하여 JavaScript 가져오기 구문을 @import css 와 같은 달성하기 위한' 가능하다 '특수' 스미스 그들의 [혼합] () 를 통해 파일 형식 (http://otl. [here] [1]). 응용 프로그램 중 하나를 사용하여 간단히 내가 상상할 수 있을지 알 수 없다, 하지만, 제가 언급한 메서드을 인터일리 don& # 39.
붽뎄 스미스 혼합물) 에 '에서' 파일:
>. 혼합 파일은 단순히 스미스트 스이스 파일로 또는 .css [파일 이름. A >. 혼합 스타일 또는 간단히 파일을 정상 기능을 확장합니다. >. 스크립트입니다 파일이므로 및 조합 가져올 수 있습니다.
예를 들어 ',' s # 39 here& 스미스 결합한 '' 스이스 파일로 여러 파일을 하나의:
또한 이 같은 '와' 로 축소 된 scripts-global.js 출력입니다 혼합 버전 ('scripts-global.min.js').
참고: # 39 m not 속해 있는 다른 어떤 식으로든 i&, 이를 사용하는 것보다 더 프런트엔트 개발 도구. 이 질문에 대해 '실천' 스미스 왔는지 빛위에 JavaScript 파일을 볼 수 있다 (이 중 하나로 섞여 상용구) 및 it 가 조금 더 (" " 있으세요?;; 생각해봤죠 혼자). 그럼 내가 깨달은 것은 application-specific 파일 형식 (다소 실망스러운 했다). 그럼에도 불구하고, 지식이 다른 생각 유용할 것입니다.
업데이트 *: 혼합물이 [현재 무료] (http://mixture.io/blog/free/) (오프라인).
업데이트 *: 지금 혼합물이 중단됐다. [이전 혼합 릴리스에서와] (https://github.com/teammixture/mixture.io/issues/6) 가 계속 사용할 수 있습니다.
[1]: http://docs.mixture.io/preprocessors # 믹스