我尝试将我的应用程序部署到heroku,但一直收到此错误:
The required namespace "react" is not available, it was required by "reagent/core.cljs".
但我有
"react": "17.0.2-0",
"react-dom": "17.0.2-0",
"react-highlight.js": "1.0.7",
都在我的包里。json和我还把
[cljsjs/react "17.0.2-0"]
[cljsjs/react-dom "17.0.2-0"]
在我的project. clj中。我也做了npm install react
。我不确定我做错了什么?
使用shadow-cljs编译到我的本地主机时编译得很好,但是当我试图推到heroku时,它就不能编译了。
编辑以添加更多细节:
我根据这篇博客文章制作了一个bin/build文件,尽管我没有使用Fulcro:https://folcon.github.io/post/2020-04-12-Fulcro-on-Heroku/
我创建了一个bin/build文件,该文件如下所示:
#!/usr/bin/env bash
npm install
npx shadow-cljs release main
clojure -A:depstar -m hf.depstar.uberjar fulcro.jar
我将以下内容添加到我的shadow-cljs.edn
文件:
;; v-- and this!
:release {:compiler-options {:optimizations :advanced}}}
它还说要在我的deps.edn
文件中添加一些东西,但我没有,所以我没有。
我还执行了buildpack步骤,添加了clojure和nodejs构建包,尽管据我所知,我没有使用nodejs。
2条答案
按热度按时间wswtfjt71#
我也遇到了同样的问题,这很容易修复。你需要首先指定buildpacksnodejs,然后只指定clojure。
lvmkulzt2#
从here开始:
npm install react react-dom create-react-class