[JQUERY] 웹팩와 실제 창 개체에 jQuery를 노출
JQUERY웹팩와 실제 창 개체에 jQuery를 노출
해결법
-
1.당신은 노출 로더를 사용해야합니다.
당신은 노출 로더를 사용해야합니다.
npm install expose-loader --save-dev
당신이 그것을 필요로 할 때 당신은이 작업을 수행 할 수 있습니다 :
require("expose?$!jquery");
또는 당신은 당신의 설정에서이 작업을 수행 할 수 있습니다 :
loaders: [ { test: require.resolve('jquery'), loader: 'expose?jQuery!expose?$' } ]
UPDATE :로 웹팩 2, 당신은 노출 로더를 사용하는 대신에 노출해야합니다
module: { rules: [{ test: require.resolve('jquery'), use: [{ loader: 'expose-loader', options: '$' }] }] }
-
2.ProvidePlugin는 각각의 수입을 통해 다른 소스에서 기호를 대체하지만, 글로벌 네임 스페이스에 기호를 노출하지 않습니다. 전형적인 예는 jQuery를 플러그인입니다. 그들 대부분은 jQuery를 전 세계적으로 정의 될 것으로 기대합니다. ProvidePlugin하면 확인 jQuery를이 ( 'jQuery를') 요구의 웹팩 원 상당으로 대체 될 것 종속성 (예를 들어, 전에로드) 및 자신의 코드에서 jQuery를의 선두로부터 인 것을 만들 것입니다.
ProvidePlugin는 각각의 수입을 통해 다른 소스에서 기호를 대체하지만, 글로벌 네임 스페이스에 기호를 노출하지 않습니다. 전형적인 예는 jQuery를 플러그인입니다. 그들 대부분은 jQuery를 전 세계적으로 정의 될 것으로 기대합니다. ProvidePlugin하면 확인 jQuery를이 ( 'jQuery를') 요구의 웹팩 원 상당으로 대체 될 것 종속성 (예를 들어, 전에로드) 및 자신의 코드에서 jQuery를의 선두로부터 인 것을 만들 것입니다.
전역 네임 스페이스로 기호에 의존하는 외부 스크립트가있는 경우 (하자 년대는 외부에서 호스팅 JS 말처럼, 자바 스크립트는 셀레늄에 호출하거나 브라우저의 콘솔에서 기호를 액세스) 대신 노출 로더를 사용하고 싶습니다.
즉 다음 노출 로더는 전역 기호에 런타임 종속성을 관리하는 반면 ProvidePlugin는 전역 기호에 빌드 타임 종속성을 관리합니다.
-
3.window 객체처럼 보인다는 모든 모듈에 노출되어있다.
window 객체처럼 보인다는 모든 모듈에 노출되어있다.
왜 그냥 가져 오기 / JQuery와 및 넣어 필요합니다
window.$ = window.JQuery = JQuery;
당신은 필요로하는 모듈 또는 사용되고있는 모듈에 하나,이 차종은 window.JQuery의 사용하는 모든 모듈을 가져 오기 / 요구하기 전에 발생하는지 확인해야합니다.
-
4.이것은 항상 날 위해 일했습니다. 웹팩 3 윈도우를 포함하여 $ = window.jQuery =이 필요합니다 ( "JQuery와.");
이것은 항상 날 위해 일했습니다. 웹팩 3 윈도우를 포함하여 $ = window.jQuery =이 필요합니다 ( "JQuery와.");
-
5.의 없음 위의 나를 위해 일하지 않는다. (그리고 난 정말하지 노출 로더를 구문 좋아해요). 대신,
의 없음 위의 나를 위해 일하지 않는다. (그리고 난 정말하지 노출 로더를 구문 좋아해요). 대신,
나는 webpack.config.js에 추가 :
var webpack = require('webpack'); module.exports = { plugins: [ new webpack.ProvidePlugin({ $: 'jquery', }) ] }
모든 모듈보다 $을 통해 jQuery를 통해 액세스 할 수 있습니다.
당신은 웹팩에 의해 번들, 모듈의에 다음을 추가하여 창에 노출 될 수 있습니다 :
window.$ = window.jQuery = $
-
6.웹팩 v2의 업데이트
웹팩 v2의 업데이트
매트 릭 의해 기술 된 바와 같이 노출 로더를 설치
npm install expose-loader --save-dev
그런 다음 코드를 당신의 webpack.config.js에 삽입 :
module.exports = { entry: { // ... }, output: { // ... }, module: { loaders: [ { test: require.resolve("jquery"), loader: "expose-loader?$!expose-loader?jQuery" } ] } };
합니다 (노출 로더 문서에서)
-
7.내 경우 작품에
내 경우 작품에
{ test: require.resolve("jquery"), loader: "expose?$!expose?jQuery" }
from https://stackoverflow.com/questions/29080148/expose-jquery-to-real-window-object-with-webpack by cc-by-sa and MIT license
'JQUERY' 카테고리의 다른 글
[JQUERY] JQuery와에 닫 외부 메뉴를 클릭 (0) | 2020.10.24 |
---|---|
[JQUERY] 어떻게 크롬 확장에 jQuery를 사용 하는가? (0) | 2020.10.23 |
[JQUERY] 설정 사용자 지정 HTML5 필요한 필드 검증 메시지 (0) | 2020.10.23 |
[JQUERY] 페이지의 jQuery를 스크롤 바닥 (0) | 2020.10.23 |
[JQUERY] jQuery를 사용하여 실패에 AJAX 요청을 다시 시도하는 가장 좋은 방법은 무엇입니까? (0) | 2020.10.23 |