每当我使用 `npm start` 启动我的应用程序时,它会将我带到 Ruby on Rails 主屏幕,而不是我的 index.html 文件
Posted
技术标签:
【中文标题】每当我使用 `npm start` 启动我的应用程序时,它会将我带到 Ruby on Rails 主屏幕,而不是我的 index.html 文件【英文标题】:Whenever I start my app using `npm start` it brings me to the Ruby on Rails Homescreen instead of my index.html file 【发布时间】:2021-12-16 18:16:48 【问题描述】:我是软件开发的新手,但我知道如何很好地使用React/Redux
,以及Ruby-On-Rails
。我试图让一个由 Rails 后端驱动的 React 前端。我从概念上理解Node.js
的工作原理,但不完全是细节。在我提交任何迁移之前,我的应用程序在开始阶段运行良好,因此在测试期间我从未运行过rails s.
现在,每当我运行时,只要我运行npm start
,它就会将我带到 rails 主页,并且在任何地方都没有我创建的代码。我以前创建过应用程序,从未遇到过这个问题,我知道问题可能出在 src 目录中的packagae.json
文件中,但除此之外我不知道该怎么做,也没有错误甚至谷歌。我什至不知道我应该显示什么文件或代码......无论如何,这是我的 packagae.json 文件作为我的index.js
文件
package.json
"name": "legend_of_cliches",
"version": "0.1.0",
"private": true,
"dependencies":
"@testing-library/jest-dom": "^5.11.4",
"@testing-library/react": "^11.1.0",
"@testing-library/user-event": "^12.1.10",
"react": "^17.0.2",
"react-dom": "^17.0.2",
"react-redux": "^7.2.4",
"react-scripts": "4.0.3",
"redux": "^4.1.1",
"redux-thunk": "^2.3.0",
"web-vitals": "^1.0.1"
,
"scripts":
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject"
,
"eslintConfig":
"extends": [
"react-app",
"react-app/jest"
]
,
"browserslist":
"production": [
">0.2%",
"not dead",
"not op_mini all"
],
"development": [
"last 1 chrome version",
"last 1 firefox version",
"last 1 safari version"
]
index.js
import React from 'react';
import ReactDOM from 'react-dom';
import './index.css';
import App from './App';
import Provider from 'react-redux'
import createStore, applyMiddleware, compose from 'redux';
import thunk from 'redux-thunk';
import masterReducer from './reducers/master_reducer';
// Sets up Store and Debuggers
const composeEnhancers = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose
const store = createStore(masterReducer, composeEnhancers(applyMiddleware(thunk)))
ReactDOM.render(
<Provider store=store>
<App />
</Provider>,
document.getElementById('root')
);
【问题讨论】:
你是在 3000 端口上运行 rails 吗,你访问 localhost:3000 时看到 rails 页面了吗? 就是这样!!!谢谢! 【参考方案1】:确保您有:
config/routes.rb
中的根路由
具有由根路由引用的操作的控制器
控制器文件夹中的视图文件(erb,haml)
如果所有这些都是预设的,rails 将为您渲染视图文件并显示它。你也可以在那里加载你的js。
【讨论】:
以上是关于每当我使用 `npm start` 启动我的应用程序时,它会将我带到 Ruby on Rails 主屏幕,而不是我的 index.html 文件的主要内容,如果未能解决你的问题,请参考以下文章
如何为我的App Engine应用设置自定义npm启动脚本?
尝试使用“npm start”运行此应用程序,但它不起作用。我如何使这个应用程序工作?