我设法导出了npm run build
(create-react-app)的输出,我在index.js
中修改了它,如下所示:
window.inject = (rootElem) => {
const root = ReactDOM.createRoot(rootElem);
root.render(
<React.StrictMode>
<App />
</React.StrictMode>
);
};
if (process.env.NODE_ENV !== "production") {
window.codeBuilder = window.inject(document.getElementById("root"));
}
然后我运行npm run build && serve -s build
,所以在外部域中,我加载我的组件如下:
<div id="myComponentHere"></div>
<script src="http://localhost:3000/static/js/main.min.js"></script>
<script>
window.inject(document.querySelector('#myComponentHere'));
</script>
问题是,我没有得到的css样式与它。有没有一个包或更干净的方式让我以封装的方式包含样式(没有iframe或手动加载样式?)
1条答案
按热度按时间im9ewurl1#
为此,我们需要:
使用JS注入CSS:
npm i -D webpack-cli
安装webpack-cli
index.js
直接捆绑项目1.送达您的文件,
npx webpack serve
a.如果您要捆绑CRA构建,请确保首先构建它。避免CSS类名冲突
[name].module.css
。module
对于Webpack和其他bundler来说非常重要,可以正确转换CSS文件,散列类名,并将这些散列导出到您的模块。CSS示例:
Component.module.css
Component.js