РЕДАКТИРОВАТЬ
Я пытаюсь найти способ в Гэтсби, что
- Я могу разместить JS-файлы (не реагировать на компоненты, которые становятся страницами)
- Файлы JS компилируются (например, test.ts -> asdf9a8s7d8f7as.js)
- Файлы JS располагаются в
public
, что означает, что они доступны на веб-сервере.
Допустим, у меня есть файл js, на который я хочу сослаться с веб-страниц.
// src/pages/functions.js it's more complicated than this
someUsefulFunction = () => { ... }
// src/pages/index.jsx
render(){
return(
<div>
my web page.
<script src="./functions.js" />
</div>
)
}
src/pages/functions.js
не является компонентом реакции, это просто файлы js с некоторыми функциями вit.
Так как fuctions.js должен быть доступен на веб-сервере, он находится под src/pages
.
Когда я выполняю gatsby develop
с настройками, как указано выше, он работает нормально, но когда ясделайте gatsby build
, это покажет подобные ошибки
WebpackError: Инвариантное нарушение: ошибка Minified React # 130;посетите https://reactjs.org/docs/error-decoder.html?invariant=130&args[]=object&args[]= для полного сообщения или используйте неминифицированную среду разработки для полных ошибок и дополнительных полезных предупреждений.
Выглядит очень глупо использовать тег script
, когда вы можете простоимпортируйте файл, но я работаю над проектом, в котором есть условия, необходимые для связывания моих js-файлов с помощью тега script
.
Я делаю это неправильно?или невозможно собрать простые js-файлы?