【发布时间】:2022-08-24 11:19:13
【问题描述】:
作为参考,这里是应用程序的文件结构:
project
│ README.md
│ shopify.app.toml
| Dockerfile
| heroku.yml
| package.json
| package-lock.json
│
└───web
│ │ index.js
│ │ vite.config.js
│ │ package.json
│ │ package-lock.json
│ │ shopify.web.toml
│ │
│ └───frontend (changed to public as a test)
│ │ App.jsx
│ │ index.html
│ │ index.jsx
│ │ package.json
│ │ package-lock.json
│ │ shopify.web.toml
│ │ vite.config.js
│ └─── components
│ └─── pages
| | index.jsx (home page)
│ └─── public
│ └─── static
│ └─── styles
│ └─── assets
│
| └─── helpers
| └─── middleware
我正在尝试让我的 Shopify 应用在 Heroku 上运行。我使用了他们的 CLI,它为您提供了预定义的文件结构并包含用于函数等的特定文件。我一直在使用他们的脚本 \"shopify app dev\" 来运行应用程序,但您无法在 Heroku 中运行 CLI 命令。因此,我需要一种使用 npm start 在本地运行它的方法。如果我使用 \"node ./web/frontend/App.jsx\" 指向 App.jsx 文件,则会收到错误消息:
未知的文件扩展名 \".jsx\"
我安装了 Babel,但没有添加任何配置(我正在与使用 npx create-react-app my-app 创建的常规反应应用程序进行比较)。
如果我使用 react-scripts,它需要一个公用文件夹。我将 \"frontend\" 文件夹命名为 \"public\",并更改了应用程序中使用 \"frontend\" 作为文件夹名称的所有实例。我用来使用 react-scripts 的命令是:
cd web && react-scripts start
我得到一个不同的错误: 找不到所需的文件。 名称:index.js 搜索:C:\\Users\\username\\Documents\\dev\\my-app\\web\\src
这意味着现在我需要一个包含 index.js 的 src 文件,但是,文件结构的 index.js 与 index.html 位于同一目录中。
我试图不弹出应用程序,但我觉得这可能是我必须选择的选项。我只是觉得 Shopify 公司应该将应用程序制作到可以在本地运行的地方,也许我错过了一些东西。请帮助并提前感谢您!
标签: node.js reactjs babeljs jsx shopify