Как получить абсолютный путь исключая JS в JS?

1

например, страница HTML содержит js, а js src - /js/test.js, и в этом js файле я могу получить строку /js/test.js когда js вычитается?

__dirname и process.cwd() могут делать это в Node.js, но не работают в js broswer

Может кто-нибудь мне помочь?

Теги:
webpack

2 ответа

1
Лучший ответ

HTML

<script src="/some/path.js" id="script1"></script>
<script src="/some/path2.js" id="script2"></script>

JS

// /some/path.js
var path = document.querySelector('#script1').getAttribute('src');

// /some/path2.js
var path = document.querySelector('#script2').getAttribute('src');
  • 0
    это то, что я ищу, спасибо
0

В браузере скрипт загружается через HTTP-запрос. URI (бит после имени хоста) не обязательно соответствует имени файла.

Если вам нужен атрибут src, вы можете обратиться к этому ответу, который рекомендует использовать document.currentScript для получения элемента сценария.

const path = document.currentScript.getAttribute('src');
  • 0
    на самом деле это не мой ответ. потому что путь может быть относительным, а то, что я хочу, является абсолютным
  • 0
    Если вы имеете в виду абсолютный путь к файлу внутри сервера, то я думаю, что вам не повезло. Вы можете редактировать файл только тогда, когда клиент запрашивает файл, что делает вопрос вообще не связанным с javascript, а скорее с вашим веб-сервером.
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню