我正在用Typescript编写服务器端渲染器Node.JS应用。然后,我使用react-dom/server
库生成React应用程序的原始HTML字符串。现在,我无法渲染正在导入css
文件的React组件。这是我启动Node.js应用程序时看到的错误:
(function (exports, require, module, __filename, __dirname) { .className {
如您所见,它无法读取css
中的js
语法。在Typescript中是否有特定配置可将css
文件转换为有效的js
文件?
有一些替代方法,但是这些替代方法完全不符合我的预期解决方案,即转换css
语法以便在NodeJS中可读。
这些是我尝试过的替代方法: 1)ignore-styles软件包。这可以工作,但是就像使用npm软件包一样,它会忽略样式,因此从我最初的服务器端呈现的HTML字符串中删除了CSS。
2)styled-components。虽然我喜欢JS中CSS的概念。我觉得这对于较小的项目来说是一个矫kill过正。
我的tsconfig.json文件
{
"compilerOptions": {
/* Basic Options */
"target": "es2016",
"module": "commonjs",
"lib": [
"es2016",
"esnext.asynciterable",
"dom"
],
"jsx": "react",
"sourceMap": true,
"declaration": true,
"rootDir": "src",
"outDir": "lib",
/* Module Resolution Options */
"esModuleInterop": true,
"moduleResolution": "node",
"baseUrl": ".",
"resolveJsonModule": true
},
"include": [
"src/**/*"
],
"exclude": [
"node_modules"
]
}