다른 리소스 (특히 DOM에 추가하는 iframe
의 경우 src
의 경우)에서로드해야하는 JS 웹 구성 요소가 있지만이 구성 요소는 상대적 통로).현재 JS 웹 구성 요소에 대한 경로 가져 오기
이 리소스는 호출 페이지를 기준으로 지정해야합니다.이 리소스는 window.location
에서 쉽게 얻을 수 있습니다.
그러나 src
을 가리키는 파일은 실행중인 JS 파일과 관련이 있으며, 구성 요소이므로 어디 있는지 알 수 없습니다.
그래서 :
example.com/index.html
|__> {unknown path}/web-component.js
|__> {unknown path}/resource.html <-- I want to get this
는 그 구성 요소는 node_modules
또는 bower_components
또는 webpackOutput
어디든지에있을 수 있습니다,하지만, DOM은 그것이 실행 년대 페이지가 아닌,에서 제공되어 동일한 위치를 가리 키도록 요구를 생성 그것.
이 코드는 웹 구성 요소에있는 것으로 document.currentScript
은 null
이고 document.getElementsByTagName('script')
은 구성 요소를 포함하지 않을 수 있습니다.
이 답변은 도움이 될 수 있습니다 : https://stackoverflow.com/questions/3133243/how-do-i-get-the-path-to-the-current-script-with-node-js – admcfajn
@admcfajn 건배, 하지만 그것은 node.js에 적용됩니다. 웹 환경에 있습니다. node.js 서버 측에서 파일을 편집하여 하드 코딩 된 경로를 가질 수는 있지만 최후의 수단입니다. – Keith
그래, 나는이 상황에 맞는 크기가 맞다고 생각하지 않는다. 아래 좋은 생각. 이 또한 도움이 될 수 있습니다. https://stackoverflow.com/questions/39410541/how-to-get-original-file-path-in-the-script-with-webpack 웹 환경에 있지만 노드로 프리 컴파일하면 맞습니까? – admcfajn