Я придумал следующее решение:
- установка raw-loader , загрузчик webpack для импорта
файл в виде строки
npm install raw-loader --save-dev
- импортировать мой файл в виде строки
import rawPerfume from 'raw-loader!./node_modules/perfume.js/dist/perfume.umd.min.js';
- Я создал плагин (просто добавьте
plugins/<PLUGIN_NAME>
в корень проекта), содержащий
gatsby-ssr.js
файл (см. Руководство по SSR
Гэтсби )
- затем я установил еще один компонент головы
import React from "react";
export const onRenderBody = ({
setHeadComponents,
}) => {
setHeadComponents([
React.createElement('script', {
dangerouslySetInnerHTML: {
__html: rawPerfume.default || rawPerfume
}
})
]);
}
Окончательный код выглядит примерно так (plugins/gatsby-plugin-perfume.js/gatsby-ssr.js
file)
import rawPerfume from 'raw-loader!./node_modules/perfume.js/dist/perfume.umd.min.js';
import React from "react";
export const onRenderBody = ({
setHeadComponents,
}) => {
setHeadComponents([
React.createElement('script', {
dangerouslySetInnerHTML: {
__html: rawPerfume.default || rawPerfume
}
})
]);
}
Вы можете увидеть код на плагине gatsby-plugin-perfume.js Я тоже поделился