【发布时间】:2019-06-06 17:52:20
【问题描述】:
我目前拥有支持 SSR 的 React 应用程序的当前设置:
- 反应应用
- 通过 webpack 编译 React 应用的 Express 服务器
- 使用 babel-node 运行具有 ES6 特性等的 Express 应用
一切正常,我启动了 Express 应用程序,它编译了我的 React 应用程序等。但是 - 然后我开始将 CSS 模块添加到 React 应用程序,然后当然一切都崩溃了,仅在服务器端课程。当我的 .scss 文件被导入 React 应用程序时,它不知道如何处理它们。
如果我们忘记了 CSS 部分,一切都会按照我的意愿进行。我可以在“开发模式”下运行整个应用程序,其中我有热重载等,babel-node 正在转换我的 ES6 节点代码等。
我已经设置了一个构建脚本,它将节点源编译为有效的 ES5,并且 React 应用程序被捆绑到一个文件中。都很好。
但是我应该如何才能保持我的设置,但是在没有 Node 的情况下工作的 CSS 模块抱怨它不理解该代码?
我想出的中途解决方案是,当我为生产构建所有内容时,我告诉 babel 跳过我的 serverRender.js 文件(这是导入我的 App.js 的文件,使用 renderToString 等,而是使用 Webpack 编译该特定文件(使用 isomorphic-style-loader、css-loader 等),并将其输出到我的“服务器”文件夹/结构的正确文件夹中。这可行,但感觉不对。
然后如果我回到在开发模式下运行,我基本上又会遇到同样的问题,如果我不为那部分开发设置 Webpack...
谁能告诉我进行此设置的更好方法?
【问题讨论】:
标签: javascript node.js reactjs express webpack