Open
Description
rsbuild.config.ts
import { defineConfig } from '@rsbuild/core';
import { pluginReact } from '@rsbuild/plugin-react';
import { pluginSass } from '@rsbuild/plugin-sass';
export default defineConfig({
plugins: [pluginReact(), pluginSass()],
moduleFederation: {
options: {
name: 'host',
remotes: {},
shared: ['react', 'react-dom', 'lodash', 'moment'].reduce((acc, curr) => {
acc[curr] = {
singleton: true,
requiredVersion: false,
};
return acc;
}, {}),
},
},
});
error: Uncaught TypeError: Failed to resolve module specifier "static/js/runtime~main.iframe.bundle.js". Relative references must start with either "/", "./", or "../".
After delete moduleFederation:
I found that preview.ejs uses htmlWebpackPlugin to inject file names.
https://github.com/rspack-contrib/storybook-rsbuild/blob/main/packages/builder-rsbuild/templates/preview.ejs#L76
<script type="module">
import './sb-preview/runtime.js';
<% htmlWebpackPlugin.files.js.forEach(file => { %>
import '<%= file %>';
<% }); %>
Only when moduleFederation is turned on will there be this problem.