SyntaxError: Неожиданный «экспорт» токена при использовании быстрых компонентов в приложении для ремикса
Я пытаюсь использовать веб-компоненты FAST в приложении дляремикса , но пока безуспешно.
На данный момент я предполагаю, что проблема связана со сборкой, сделанной в ремиксе. Я понимаю, что сборка выполняется esbuild и что она не полностью работает с модулями esm, по крайней мере, не так, как они экспортируются FAST.
Ошибка, которую я получаю:
/sandbox/node_modules/@microsoft/fast-components/dist/esm/index.js:4
export * from "./custom-elements":
SyntaxError: Unexpected token 'export'
at wrapSafe (internal/modules/cjs/loader.js:1001:16)
at Module._compile (internal/modules/cjs/loader.js:1049:27)
at Object.Module
// ...
А вот как я попытался включить FAST в свое приложение для ремиксов:
import {
provideFASTDesignSystem,
fastCard,
fastButton
} from "@microsoft/fast-components";
import { provideReactWrapper } from "@microsoft/fast-react-wrapper";
import React from "react";
const { wrap } = provideReactWrapper(React, provideFASTDesignSystem());
export const FastCard = wrap(fastCard());
export const FastButton = wrap(fastButton());
// https://remix.run/guides/routing#index-routes
export default function Index() {
return (
<div>
<h1>Trying to make FAST work</h1>
<FastCard>
<h2>FAST React</h2>
<FastButton appearance="accent" onClick={() => console.log("clicked")}>
Click Me
</FastButton>
</FastCard>
</div>
);
}
Живая демонстрация: https://codesandbox.io/s/green-leftpad-grd8o?file=/app/routes/index.tsx:0-702
1 ответ
на основе документации по ремиксам, чтобы решить проблему, вам необходимо добавить следующее в свойremix.config.js
файл:
module.exports = {
...
serverDependenciesToBundle: [
...
"@microsoft/fast-components",
...
],
};