>

script-loader 가 표시됩니다 한 줄짜리 쓰기

"require(" + JSON.stringify("!!" + path.join(__dirname, "addScript.js")) + ")"

!! 를 사용하는지 말해 줄 수있는 사람  이리? 미리 감사드립니다.


  • 답변 # 1

    1 개의 !  모든 포스트 로더를 무시합니다.

    2 개의 !!  사전 및 사후 로더를 무시합니다.

    따라서 ! 가 없다면  또는 1 !  접두사, 로더로의 입력 실제 파일이 아닐 수도 있습니다. 다른 로더에 의해 처리 구성에서.

  • 답변 # 2

    확실히 모르겠 기 때문에 "답변"을 게시하고 싶지 않습니다. 그러나 !  표준 웹팩 로더 구분 기호이며 해당 호출은 다음과 같이 반환됩니다.

    "!!/var/www/project/addScript.js"
    
    

    이 프로젝트의 초기 커밋에는 없었기 때문에 이것이 최신 버전의 웹팩 (정확히 0.9)과 호환되도록 추가 된 해결 방법이라고 생각할 수 있습니다. webpack 0.9 호환성을 위해 첫 번째 느낌표가 여기에 추가되었음을 알 수 있습니다. 두 번째 설명은 별다른 설명없이 추가되었습니다 ( "창이없는 환경에서는 충돌하지 마십시오")

  • 답변 # 3

    path.join() 를 변환합니다.  bool로 돌아옵니다.

  • 답변 # 4

    NormalModuleFactory.js 에서 답을 찾았습니다.   webpack 에서  폴더. 70 행 :

    var noPrePostAutoLoaders = /^!!/.test(request);
    
    

    require('./file') 를 사용할 때 프리 로더는 파일에 영향을 미치며 require('!!./file') 를 사용할 때 preLoader는 파일에 영향을 미치지 않으므로 !! 라고 생각합니다.  프리픽스는 프리 로더가 파일에 영향을 미치지 않도록하거나 웹팩이 프리 로더를 무시하게합니다.

    webpack 1.x 웹 사이트에서 문서를 찾았습니다 https://webpack.github.io/docs/loaders.html#loader-order

  • 이전 objective c - 파일에서 jpeg를 읽지 못하면 "해당 파일 없음"으로 실패하지만 파일이 분명히 있습니다
  • 다음 svg - 모든 SourceGraphic 색상/알파를 버리고 다시 칠하기?