2017-12-18 13 views
0

저는 Angular4에서 작업 중이며 응용 프로그램을 빌드 할 때 Webpack 설정을 사용하고 있습니다. 내 프로젝트에서 jQuery를 사용하여봤을 때 Webpack이 모듈을 전역 적으로로드하기 위해 제공하는 ProviderPlugin에 대해 알아 냈습니다.jQuery with ProvidePlugin in Webpack 2 경로 변경 후 작동하지 않습니다.

그러나 내가 직면 한 문제는 조금 이상합니다. 페이지가 페이지를로드 할 때 처음 제대로 작동하고 jQuery와 관련된 모든 코드가 제대로 작동하지만 페이지 또는 라우트를 변경하면 jQuery의 기능이 손실되고 결과 페이지가 예상대로 작동하지 않습니다. 내가 뭔가를 놓친 거지 다음 할 것이 큰 도움이 될 것이라고 언급 해주십시오 다른 방법이 있다면, 내가 플러그인에 사용되는 코드뿐만 아니라, 내가 다른 솔루션을 찾고

new webpack.ProvidePlugin({ $: 'jquery', jQuery: 'jquery' })

표준입니다.

정말 고마워요.

답변

0

또한 HTML 페이지를 생성하는 HtmlWebpackPlugin을 사용할 수 있습니다. 그리고 inject를 true로 설정하십시오. 다른 페이지에 액세스하려고 할 때 아마 문제가 발생하기 때문에 jquery가 선언되지 않았으므로 jquery가있는 기본 템플릿 페이지가 필요하고이 템플릿에서 다음 html 페이지를 생성해야합니다. 예 :

new HtmlWebpackPlugin({ 
    filename: 'index.html', 
    template: 'index.html', 
    inject: true 
}) 

따라서 패키지를 npm으로 다운로드하고 구성한 다음 설치하고 설정하십시오.

은 또한 당신이 당신에게 JQuery와 삽입을 편집 할 수 있습니다

new webpack.ProvidePlugin({ 
    $: 'jquery', 
    jquery: 'jquery', 
    'window.jQuery': 'jquery', 
    jQuery: 'jquery' 
}) 
+0

그러나 그것은 작동하지 않았다 귀하의 제안에 따라 안녕하세요 다시 대답을 주셔서 감사합니다, 나는 않았다. 나는이 '새로운 HtmlWebpackPlugin 같은 것을 한 ({ 템플릿 : './src/index.html', 파일 이름 : 'index.html을', 사부 : 사실 })' –

+0

Hhmmm은 NPM하여 donwload의 jQuery를했다 ? 팁 : htmlWebpackPlugin은 html 페이지를 더 빠르게 만드는 플러그인 일뿐입니다. 더 자세한 정보를 얻기 위해 문서를 읽을 수 있습니다. –

+0

예, NPM을 통해 jQuery를 다운로드했습니다. –