首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >webpack无法解决ReasonReact.js问题

webpack无法解决ReasonReact.js问题
EN

Stack Overflow用户
提问于 2018-02-11 07:46:17
回答 1查看 550关注 0票数 1

我试图让ReasonML使用现有的React代码库。我不使用create-react-app。这是一个hand-built项目。在大多数情况下,看起来一切都很好。但是,当我试图使用默认编译的bs.js文件运行Webpack时,会遇到一个错误。

代码语言:javascript
复制
Error: Can't resolve '../lib/js/src/ReasonReact.js'

我的bsconfig.js几乎是直接从ReasonML文档中复制/粘贴的:

代码语言:javascript
复制
{
  "name": "reason-react",
  "reason": {"react-jsx" : 2},
  "sources": ["src"],
  "package-specs": [{
    "module": "commonjs",
    "in-source": true
  }],
  "suffix": ".bs.js",
  "namespace": true,
  "bs-dependencies": ["reason-react"],
  "refmt": 3
}

Bucklescript正在我期望的位置生成适当的bs.js文件。一切都很好。然而,Webpack找不到他们想要的东西,我一点也不奇怪。没有/lib/js/src/ReasonReact.js文件。ReasonReact.js文件在/lib/bs中,在node_modules/reason-react/lib/js中有一个。

当我编辑已编译的ReasonML文件并将ReasonReact变量指向node_modules ReasonReact.js文件时,一切都正常。

我看过几篇教程和文章。也许我错过了什么,但是我找不到任何关于我所遇到的错误的东西。有没有人知道为什么会在编译的bs.js文件中关闭这个文件呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-02-11 09:37:13

问题是,您已经将项目命名为reason-react。与打开namespace相结合,这将创建一个名为ReasonReact的本地命名空间模块,它会干扰依赖项的模块解析。

您可能只需将namespace设置为false in bsconfig.json就可以解决这个问题,因为它听起来不像是要由其他人使用的库,因此无论如何也不需要名称空间。但是,您也应该避免使用与您的依赖项相同的名称,因为它很容易导致像这样的混淆问题。

请记住更改bsconfig.jsonpackage.json中的名称以避免出现问题。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48729446

复制
相关文章

相似问题

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