ReasonReact中继承Nextjs App组件(pages/_app.js)
Inheriting Nextjs App component (pages/_app.js) in ReasonReact
我正在尝试使用 ReasonReact 在我的 Nextjs 应用程序中实现 React 上下文 API,但被 bucklescript 编译器推断模块名称的方式所捕获。
为了使上下文对整个树可用,我需要从 Nextjs App 组件继承。问题是 Next 按照约定查找 App 组件继承的 pages/_app.js
,但是当我使用 _app.re
作为文件名时,bsb
不会生成名为 "App" 的 Reason 模块.
事实上,bsb
打印以下消息并忽略文件:
IGNORED: file _app.re under pages is ignored because it can't be turned into a valid module name. The build system transforms a file name into a module name by upper-casing the first letter
有什么方法可以让 Nextjs 在别处寻找 App 组件吗?或者也许是一种仅针对这个文件调整 bsb
的方法?
最后一个似乎不太可能,但我不想深入 javascript 除非我 真的 必须这样做。
一种可能的解决方案是添加一个具有适当名称的 js 文件,该文件从具有 BuckleScript 支持的名称的已编译模块中重新导出:
// _app.js
export { default } from './next_app.bs.js';
我必须这样做才能让某些功能与 Gatsby 一起使用。参见 this example。
我正在尝试使用 ReasonReact 在我的 Nextjs 应用程序中实现 React 上下文 API,但被 bucklescript 编译器推断模块名称的方式所捕获。
为了使上下文对整个树可用,我需要从 Nextjs App 组件继承。问题是 Next 按照约定查找 App 组件继承的 pages/_app.js
,但是当我使用 _app.re
作为文件名时,bsb
不会生成名为 "App" 的 Reason 模块.
事实上,bsb
打印以下消息并忽略文件:
IGNORED: file _app.re under pages is ignored because it can't be turned into a valid module name. The build system transforms a file name into a module name by upper-casing the first letter
有什么方法可以让 Nextjs 在别处寻找 App 组件吗?或者也许是一种仅针对这个文件调整 bsb
的方法?
最后一个似乎不太可能,但我不想深入 javascript 除非我 真的 必须这样做。
一种可能的解决方案是添加一个具有适当名称的 js 文件,该文件从具有 BuckleScript 支持的名称的已编译模块中重新导出:
// _app.js
export { default } from './next_app.bs.js';
我必须这样做才能让某些功能与 Gatsby 一起使用。参见 this example。