当前位置: 首页 > 知识库问答 >
问题:

如何导入css文件在反应时生成静态html和注入导入css到html头标签?

屠锐
2023-03-14

我正在尝试使用renderToStaticMarkup方法从react生成静态html。我现在面临的问题是,我无法将css导入react组件。我想在我的React组件中导入css,比如css模块(从“./style.css”导入样式)。然后将加载的css注入生成的静态html头部。我怎样才能做到这一点?

另外,由于一些限制,我无法使用webpack。如果有任何巴贝尔插件可用于此特定情况,那么请让我知道。

下面是我如何从react组件生成静态html:

const reactElement = require('react').createElement;
const ReactDomServer = require('react-dom/server');

const renderHTML = Component => {
  return ReactDomServer.renderToString(reactElement(Component))
}

共有2个答案

长孙弘壮
2023-03-14

您可以传递一个URL作为道具并呈现一个

宿嘉庆
2023-03-14

如果没有很多自定义逻辑,这可能会很有挑战性。

如果您只想在初始渲染时内联CSS,然后在初始渲染后提取其余内容,样式化组件可能是一个更好的选择,因为它完全支持您尝试实现的功能,而无需太多配置:https://www.styled-components.com/docs/advanced#server-侧面渲染

 类似资料:
  • 问题内容: 我正在将RTL合并到我的React应用程序中。我有两个CSS文件,一个用于LTR,一个用于RTL。我从下拉菜单中选择用户使用的是英文版本还是阿拉伯版本。 我坚持认为,当用户选择阿拉伯语版本时如何有条件地导入我的RTL CSS文件,而当用户选择英语时如何恢复为普通CSS文件。 任何帮助或指导,将不胜感激 我正在使用React&webpack 问候 问题答案: 我以前遇到过这个问题,我所做

  • 我想将CSS文件导入react组件。 我已经尝试但我得到下面的错误; 找不到模块:错误:无法解析文件或目录.../.../.../Public/style/disabledLink in c:\用户\用户\文档\pisa-app\Client\src\组件@./Client/src/组件/ShoppingCartLink.js19:20-66哈希: 2d281bb98fe0a961f7c4版本:

  • 问题内容: 我想将CSS文件导入React组件。 我已经尝试过,但是下面出现错误; 找不到模块:错误:无法解析c:\ Users \ User \ User \ Documents \ pizza-app \ client \ src \ components @中的“文件”或“目录” ../../../public/styles/disabledLink。 /client/src/compone

  • 问题内容: 有没有办法从CSS(3)插入HTML元素,dom或代码? 问题答案: 内容(用于文本而非html): 但是要明确一点,这是不好的做法。它在整个浏览器中的支持都是不稳定的,通常不是一个好主意。但是在确实需要使用它的情况下,它确实存在。

  • 问题内容: 可以将.css文件导入.less文件…吗? 我对较少的内容非常熟悉,并将其用于我的所有开发。我经常使用如下结构: 所有导入文件都是其他.less文件,并且可以正常运行。 我当前的问题是:我想将.css文件导入.less,以引用.css文件中使用的样式,如下所示: .css文件包含一个名为的类,但是当我尝试编译.less文件时,出现错误 .less文件不会导入.css文件,仅导入其他.l

  • 问题内容: 我正在尝试像这样使用react-day-pickers组件,但是我不知道如何导入.css文件,并且不断收到错误: 我已经安装了package.json,这是我的Calender.jsx文件: 这是我的webpack.config.js: 问题答案: 您如何编译呢?如果是webpack,则可能需要引入样式加载器,并在webpack配置中的数组中包含以下内容: 更新 :现在提供了webpa