Подключить js файл: Внешние скрипты, порядок исполнения

html — Не получается подключить внешний JavaScript код, если файл js расположен на уровень выше

Вопрос задан

Изменён 1 год 9 месяцев назад

Просмотрен 72 раза

Не получается подключить внешний javaScript код через относительный путь, если *.js файл расположен на уровень выше

То есть проблема с подключением следующего кода:

<head>
  <script src="/scripts/test.js" charset="utf-8"></script>
</head>

В то время как код ниже работает без проблем:

<head>
  <script src="test.js" charset="utf-8"></script>
</head>

В то же время подключением *.css никаких проблем нет.

  • javascript
  • html
  • веб-программирование

2

<head>
  <script src=". ./scripts/test.js" charset="utf-8"></script>
</head>

Советую почитать, как пользоваться файловой системой через консоль.

Если ваши файлы расположены вот так

то для подключение нужно использовать эту команду(отличие лишь в «../»)

<head>
  <script src="../scripts/test.js" charset="utf-8"></script>
</head>

А если же они расположены так

То подключение делается так(внимание на путь файла)

<head>
  <script src="../../scripts/test.js" charset="utf-8"></script>
</head>

По аналогии можно подключить так скрипт который находится хоть в корне диска. Но если файл в совсем другом месте то можете подключить его прямой ссылкой(пример ссылки по локалки).

<script src="file:///C:/312/My%20Promise/script.js"></script>

Зарегистрируйтесь или войдите

Регистрация через Google

Регистрация через Facebook

Регистрация через почту

Отправить без регистрации

Почта

Необходима, но никому не показывается

Отправить без регистрации

Почта

Необходима, но никому не показывается

Нажимая на кнопку «Отправить ответ», вы соглашаетесь с нашими пользовательским соглашением, политикой конфиденциальности и политикой о куки

javascript — Подключение js-скриптов в Thymeleaf

Вопрос задан

Изменён 2 года 2 месяца назад

Просмотрен 454 раза

Проблема состоит в том, что не могу понять как правильно подключить внешний файл js к html. Моя структура проекта выглядит так:

  • resources
  • static
  • search.js

Вроде бы проблем как таких быть не должно, js файл состоит в папке static, код работает(потому что при размещении в html тег script все работает отлично).

Мои попытки подключения выглядят следующим образом:

<script type="text/javascript" src="../static/search.js" th:src="@{/search.js}"></script> <script src="../static/search.js" th:src="|${}/search.js|"></script> <script th:src="|${}/search.js|"></script> <script type="text/javascript" th:src="@{search.js}"></script>
  • javascript
  • html
  • spring
  • frontend
  • thymeleaf

Нашел решение.

Проблема была в том, что подключение происходило в теге head, что thymeleaf посчитал недопустимым и не подгружал их.

Решение состоит в том, чтобы разместить подключение внешних скриптов перед закрывающим тегом body, валидное подключение:

<!-- Connecting external js-files -->
<script type="text/javascript" th:src="@{/search. js}"></script>
</body> 

6

Зарегистрируйтесь или войдите

Регистрация через Google

Регистрация через Facebook

Регистрация через почту

Отправить без регистрации

Почта

Необходима, но никому не показывается

Отправить без регистрации

Почта

Необходима, но никому не показывается

Нажимая на кнопку «Отправить ответ», вы соглашаетесь с нашими пользовательским соглашением, политикой конфиденциальности и политикой о куки

Как я могу включить .

js и другие файлы в свой PCF co…
Информационный бюллетень сообщества за апрель 2023 г.

Добро пожаловать в наш Информационный бюллетень сообщества за апрель 2023 г., где мы будем освещать последние новости, выпуски, предстоящие события и отличная работа наших участников в сообществах Biz Apps. Вы можете подписаться на новости и объявления и быть в курсе последних новостей из нашей постоянно растущей сети участников, которые быстро обнаружат, что «Сообщество больше внутри». ПОСЛЕДНИЕ НОВОСТИ Мероприятие по запуску бизнес-приложений Microsoft — по запросу Зарегистрируйтесь ниже, чтобы подробно ознакомиться с последними обновлениями Microsoft #PowerPlatform и #Dynamics365. Узнайте о новых функциях, возможностях и передовых методах подключения данных для обеспечения исключительного качества обслуживания клиентов, совместной работы с использованием аналитики на основе ИИ и повышения производительности с помощью автоматизации. Среди приглашенных докладчиков — Чарльз Ламанна, Эмили Хе, Георг Гланчниг, Джули Штраус, Джефф Комсток, Лори Ламкин, Майк Мортон, Рэй Смит и Уолтер Сан.

Смотреть сейчас: мероприятие по запуску бизнес-приложений Соединения с силовой платформой — Эпизод девятый Сегодня в 12:00 по тихоокеанскому стандартному времени состоится премьера девятого эпизода #PowerPlatform Connections, когда Дэвид Уорнер II и Хьюго Бернье беседуют с главным менеджером программы Весой Ювонен, а также замечательные работы Троя Тейлора, Гиты Сивасайлам, Майкла Мегеля, Натали Лендерс, Ритеша Ранджана Чуби, Клэя Везенера. , Тристан ДЕХОВ, Дайан Тейлор и Кэт Шнайдер. Нажмите на ссылку ниже, чтобы подписаться и получать уведомления, с Дэвидом и Хьюго LIVE в чате YouTube с 12:00 по тихоокеанскому времени. И не забудьте использовать хэштег #PowerPlatformConnects в социальных сетях, чтобы ваша работа была представлена ​​на шоу! Приложение за день — Бесплатный семинар Ищете способ создать решение для быстрого удовлетворения потребностей вашего бизнеса? Зарегистрируйтесь ниже, чтобы принять участие в БЕСПЛАТНОМ семинаре «Приложение за день», чтобы узнать, как создавать собственные бизнес-приложения без написания кода! Семинары Microsoft Power Platform за один день ПРЕДСТОЯЩИЕ СОБЫТИЯ Направления Азия Узнайте больше о конференции Directions 4 Partners Asia 2023, которая пройдет в Бангкоке 27–28 апреля 2023 года с участием ключевых спикеров Майка Мортона, Янника Баусагера и Дмитрия Чадаева.
Это мероприятие предназначено для партнеров Dynamics, ориентированных на малый и средний бизнес, и их сотрудников, чтобы получить знания о продуктах Business Central, Power Platform и #DynamicsSales, а также вдохновиться и мотивироваться передовым опытом, экспертными знаниями и инновационными идеями. Если вы хотите встретиться с отраслевыми экспертами, получить преимущество на рынке малого и среднего бизнеса и получить новые знания о #MicrosoftDynamics Business Central, нажмите на ссылку ниже, чтобы купить билет сегодня! Нажмите здесь, чтобы зарегистрироваться Иберийский технический саммит Приходите посмотреть на Иберийский технологический саммит, который пройдет в отеле Real Marina Hotel & Spa в Ольяне, Португалия, с 28 по 30 апреля 2023 года. Иберийский технологический саммит является первым в своем роде с четкой целью — пересечь границы полуострова и помочь сообществу профессионалов, рабочих и предприятий стать сильнее вместе. Поздравляем Кайлу Блумфилд, Адама Б., Ану Инес Уррутиа де Соуза и всю команду за организацию этого замечательного мероприятия.
Нажмите ниже, чтобы узнать подробности. Нажмите здесь, чтобы зарегистрироваться Конференция Power Platform 2023 Мы очень рады видеть вас на конференции Microsoft Power Platform в Лас-Вегасе 3–5 октября 2023 года! Но сначала давайте вспомним некоторые забавные моменты и лучшее сообщество в области технологий с MPPC 2022 в Орландо, штат Флорида. В числе приглашенных докладчиков, таких как Хизер Кук, Джули Штраус, Нирав Шах, Райан Каннингем, Сангья Сингх, Стивен Сицилиано, Хьюго Бернье и многие другие, нажмите на ссылку ниже, чтобы зарегистрироваться на #MPPC23 2023 сегодня! www.powerplatformconf.com ОСОБЕННОСТИ СООБЩЕСТВА Посмотрите, как наши лучшие пользователи Super и Community достигают новых уровней! Эти трудолюбивые участники публикуют сообщения, отвечают на вопросы, хвалят и предлагают лучшие решения в своих сообществах. Мощные приложения: Суперпользователи:  @BCBuizer , @WarrenBelz, Пользователи сообщества: @mmollet, @Amik, @RJM07 Силовой автомат: Суперпользователи: @Expiscornovus , @grantjenkins, @abm Пользователи сообщества: @Nived_Nambiar Мощные виртуальные агенты: Суперпользователи: @Expiscornovus, @Pstork1, Пользователи сообщества: @nikviz, @DaniBaeyens Страницы силы: Суперпользователи: @ragavanrajan Пользователи сообщества: @OOlashyn, @gospa, @Fubar ПОСЛЕДНИЕ СТАТЬИ В БЛОГЕ О ПРОДУКТАХ Блог сообщества Power Apps Блог сообщества Power Automate Блог сообщества Power Virtual Agents Блог сообщества Power Pages Ознакомьтесь с разделом «Использование сообщества» для получения дополнительных полезных советов и информации: Power Apps, Power Automate, Power Virtual Agents, Power Pages

js.

Build | Hugo

Syntax

 js.Build RESOURCE [OPTIONS] 

Usage

Любой файл ресурсов JavaScript может быть транспилирован и «встряхнут дерево» с использованием js.Build , который принимает в качестве аргумента либо строку для пути к файлу, либо словарь варианты, перечисленные ниже.

Параметры

targetPath [строка]
Если не задано, исходный путь будет использоваться в качестве базового целевого пути. Обратите внимание, что расширение целевого пути может измениться, если целевой тип MIME отличается, например. когда источником является TypeScript.
params [карта или срез]
Параметры, которые можно импортировать как JSON в ваши файлы JS, например:
 {{ $js := resources.Get "js/main.js" | js.Build (dict "params" (dict "api" "https://example.org/api")) }}
 

Затем в вашем JS-файле:

 import * as params from '@params';
 

Обратите внимание, что это предназначено для небольших наборов данных, т. е. настройки конфига. Для больших данных поместите/смонтируйте файлы в /assets и импортируйте их напрямую.

minify [bool]
Пусть js.Build обрабатывает минимизацию.
inject [slice]
Этот параметр позволяет автоматически заменить глобальную переменную на импорт из другого файла. Имена путей должны относиться к активам . См. https://esbuild.github.io/api/#inject
shims [map]
Эта опция позволяет заменять один компонент другим. Распространенным вариантом использования является загрузка зависимостей, таких как React, из CDN (с прокладками ) в производстве, но работает с полным набором node_modules зависимости во время разработки:
 {{ $shims := dict "react" "js/shims/react.js" "react-dom" "js/shims /реагировать-dom.js" }}
{{ $js = $js | js.Build dict "прокладки" $shims }}
 

Файлы shim могут выглядеть так:

 // js/shims/react. js
модуль.экспорт = окно.Реагировать;
 
 // js/shims/react-dom.js
модуль.экспорт = окно.ReactDOM;
 

С учетом вышеизложенного этот импорт должен работать в обоих сценариях:

 импортировать * как React из 'реагировать'
импортировать * как ReactDOM из 'react-dom';
 
цель [строка]
Целевой язык. Один из: es5 , es2015 , es2016 , es2017 , es2018 , es2019 , 5 9 5 esnext . По умолчанию esnext .
внешние [срез]
Внешние зависимости. Используйте это, чтобы обрезать зависимости, которые, как вы знаете, никогда не будут выполнены. См. https://esbuild.github.io/api/#external
определяет [карту]
Позволяет определить набор замен строк, которые будут выполняться при построении. Должна быть карта, где каждый ключ должен быть заменен его значением.
 {{ $define := dict "process. env.NODE_ENV" `"разработка"` }}
 
формат [строка]
Выходной формат. Один из: iife , cjs , esm . Значение по умолчанию — iife , самовыполняющаяся функция, подходящая для включения в качестве тега.
исходная карта [строка]
Создавать ли встроенные или внешние исходные карты из esbuild. Внешние исходные карты будут записаны в цель с именем выходного файла + «.map». Карты входных источников можно считывать из модулей js.Build и node и объединять в выходные карты источников. По умолчанию исходные карты не создаются.

Импорт JS-кода из /assets

js. Сборка полностью поддерживает файловую систему виртуального объединения в Hugo Modules. Вы можете увидеть несколько простых примеров в этом тестовом проекте, но вкратце это означает, что вы можете сделать это:

 импорт {привет} из 'мой/модуль';
 

И он будет разрешен к самому верхнему индексу . {js,ts,tsx,jsx} внутри assets/my/module в многоуровневой файловой системе.

 import { hello3 } from 'my/module/hello3';
 

Разрешится в hello3.{js,ts,tsx,jsx} внутри assets/my/module .

Любой импорт, начинающийся с . разрешается относительно текущего файла:

 import { hello4 } from './lib';
 

Для других файлов (например, JSON , CSS ) необходимо использовать относительный путь, включая любое расширение, например:

 import * as data from 'my/module/data.json';
 

Любой импорт в файл за пределами /assets или который не разрешается в компонент внутри /assets , будет разрешен ESBuild с каталогом проекта в качестве каталога разрешения (используется в качестве отправной точки при поиске node_modules и т. д.). Также см. Hugo mod npm pack. Если в вашем проекте есть какие-либо импортированные зависимости npm, обязательно запустите npm install перед запуском Hugo .

Также обратите внимание на новую опцию params , которую можно передать из шаблона в ваши файлы JS, например:

 {{ $js := resources.Get "js/main.js" | js.Build (dict "params" (dict "api" "https://example.org/api")) }}
 

Затем в вашем JS-файле:

 import * as params from '@params';
 

Hugo по умолчанию создает файл assets/jsconfig.json , который отображает импорт. Это полезно для навигации/подсказки IntelliSense внутри редакторов кода, но если вам это не нужно/не нужно, вы можете отключить его.

Включить зависимости в package.json/node_modules

Любой импорт в файл за пределами /assets или который не разрешается в компонент внутри /assets , будет разрешен ESBuild с каталогом проекта в качестве каталога разрешения (используется в качестве отправной точки при поиске node_modules и т.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *