他のリソース(具体的にはDOMに追加するiframe
の場合はsrc
)を読み込む必要のあるJS Webコンポーネントがありますが、これは相対的なパス)。現在のJS Webコンポーネントへのパスを取得します
このリソースは、呼び出し側のページを基準にして指定する必要があります。これは、window.location
から十分に簡単に取得できます。
しかし、src
を指し示す必要があるファイルは、実行されているJSファイルとの相対的なものであり、それがコンポーネントであるため、どこにあるかはわかりません。
ので:コンポーネントはnode_modules
またはbower_components
またはwebpackOutput
またはどこにあるかもしれない
example.com/index.html
|__> {unknown path}/web-component.js
|__> {unknown path}/resource.html <-- I want to get this
が、DOM、それはそれはから提供された同じ場所を指すようにニーズを作成し、いない実行だページそれ。
このコードはWebコンポーネントにあり、および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にも当てはまりますが、私はWeb環境にいます。私はnode.jsサーバー側でハードコードされたパスを持つようにファイルを編集することができますが、それは本当に最後の手段です。 – Keith
ええ、私はこのような状況のために全然一本だとは思わない。下の素晴らしい考え。これも役立つかもしれません:https://stackoverflow.com/questions/39410541/how-to-get-original-file-path-in-the-script-with-webpackあなたはウェブ環境にいますが、あなたはノードでプリコンパイルするのは正しいですか? – admcfajn