【问题标题】:Why can't I "require" react-dom.js?为什么我不能“要求” react-dom.js?
【发布时间】:2016-11-07 11:35:27
【问题描述】:

我尝试将 ReactDOM 带入我的 Jest 测试中。像这样。

const React = require('../src/js/vendor/react/build/react.js');
const ReactDOM = require('../src/js/vendor/react/build/react-dom.js');

当我在测试中记录 ReactDOM 时,我得到了未定义。为什么?

路径正确。我可以“要求”React。

【问题讨论】:

  • 您确定路径有效吗?你的开发工具网络标签说什么?你有 404 吗?
  • @War10ck 要么路径有效,要么我疯了。很难说出网络选项卡,Jest 测试是在 Node.js 中运行的。没有 404
  • 啊,没想到。不幸的是,这超出了我的范围。我对 Jest 或 Node 不够熟悉,不知道从哪里开始。

标签: javascript node.js reactjs jestjs


【解决方案1】:

他没有提到的部分(他也在 IRC)是他没有 NPM,并且他的团队“决定不使用 NPM”

【讨论】:

    【解决方案2】:

    RequireJS 添加到您的项目中,这样您就可以在客户端使用require(...)

    使用Babel 将脚本从 ES5 转换为 ES6

    【讨论】:

      【解决方案3】:

      如果你查看react-dom source,你会看到 CommonJS require 和 AMD 风格的 define 调用引用 "react"(它只是为了将来的分离而包装了私有 API 的东西),这只有在你的环境要么是理解 npm 路径解析的捆绑器(例如 webpack/browserify),要么是配置了模块路径映射的 AMD 加载器(例如 requirejs)。

      【讨论】:

        猜你喜欢
        • 2022-06-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-02-22
        • 2016-12-19
        • 1970-01-01
        相关资源
        最近更新 更多