【发布时间】:2019-04-14 23:09:08
【问题描述】:
我在使用 js 互操作时遇到问题。我正在尝试像这样使用 js 组件react-slick:
// src/interop/Carousel.js
import React from 'react'
import Slider from 'react-slick'
export function Carousel(props) {
return (
<Slider>
<div>
<h3>{props.name} 1</h3>
</div>
</Slider>
)
}
/* src/Carousel.re */
[@bs.module "./interop/Carousel"] [@react.component]
external make: (~name: string) => React.element = "";
/* src/index.re */
ReactDOMRe.renderToElementWithId(<Carousel name="ahaha" />, "carousel");
但是在 webpack 中遇到了这个错误:
ERROR in ./lib/js/src/Index.bs.js
Module not found: Error: Can't resolve './interop/Carousel' in '[...]/reason_react_example/lib/js/src'
@ ./lib/js/src/Index.bs.js 6:15-44
所以看起来BS在编译时没有考虑Carousel.js文件?
顺便说一句,我正在关注这个reason-react doc
【问题讨论】:
-
这个文件存在吗? lib/js/src/interop/Carousel.js?
-
它不存在
-
嗯 - 这不是这里的问题吗?
-
hmm,看来我得把文件直接放到lib/js/src 并设置webpack 来加载jsx
标签: javascript ffi reason bucklescript reason-react