首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >没有找到ReactDOMServer,但它在package.json上

没有找到ReactDOMServer,但它在package.json上
EN

Stack Overflow用户
提问于 2022-10-13 20:38:43
回答 1查看 23关注 0票数 0

我在我的npm start日志上得到了这个结果:

代码语言:javascript
复制
Can't resolve 'react-dom/server' in 'C:\Users\Alvaro\git\Fancy\lab\src\components\data-visualization\chart'

If you're trying to use a package make sure that 'react-dom/server' is installed. If you're trying to use a local file make sure that the path is correct.
failed Re-building development bundle - 0.607s

我的项目是一个库,在lib/lab中分隔,目录如下

  • ./package.json
  • ./lib/package.json
  • ./lab/package.json

lib已经部署组件的地方,lab是我现在正在研究的组件

我想做的只是

代码语言:javascript
复制
import * as ReactDOMServer from "react-dom/server";

实验室中的一个组件中,但是得到了上面的错误

在所有package.json文件上都安装了react dom:

./package.json

代码语言:javascript
复制
"devDependencies": {
        ...
        "@types/react": "16.14.8",
        "@types/react-dom": "^16.9.10",
        "react": "^17.0.2",
        "react-dom": "^17.0.2",
        ...
},
"peerDependencies": {
    "react": ">=16",
    "react-dom": ">=16"
},

lab/package.jsonlib/package.json

代码语言:javascript
复制
"devDependencies": {
        ...
        "@types/react": "16.14.8",
        "@types/react-dom": "^18.0.6",
        "react": "17.0.2",
        "react-dom": "^17.0.2"
    },
    "peerDependencies": {
        "react": ">=16",
        "react-dom": ">=16"
    },

所以..。它看起来像是安装了react,因此我应该能够使用react/server作为一个导入。但不能..。有什么想法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-10-17 23:21:54

问题的解决实际上是使用gatsby节点

在配置中,添加别名(按照这个顺序,如果反向不起作用)

代码语言:javascript
复制
/** @type {import('gatsby').GatsbyNode} */
module.exports = {
    onCreateWebpackConfig: ({ actions }) => {
        actions.setWebpackConfig({
            resolve: {
                alias: {
                    //These aliases are needed so we always end up with the same instance of react
                    // otherwise we get a version from the root, and one from lib/lab, which crashes at runtime when hooks are used.
                    react: require.resolve("react"),
                    "react-dom/server": require.resolve("react-dom/server"),
                    "react-dom": require.resolve("react-dom"),
                },
            },
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74061540

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档