带有 Rails(webpacker)的 Vue 错误:“无法获取 /”

Posted

技术标签:

【中文标题】带有 Rails(webpacker)的 Vue 错误:“无法获取 /”【英文标题】:Vue with Rails (webpacker) Error: "Cannot GET /" 【发布时间】:2018-08-15 23:25:17 【问题描述】:

我使用 webpacker 使用 Rails 和 Vue 创建了新项目。首先我遇到了奇怪的错误 Cannot read property 'compile' of undefined

所以我点击了yarn upgrade webpack-dev-server --latest,这是正确的答案并帮助了我,但是当我点击:./bin/webpack-dev-server 我的 webpack 开发服务器启动并且一切看起来都很好但在http://localhost:3035/ 我收到“无法获取 /”消息.

JS 控制台:Failed to load resource: the server responded with a status of 404

我也试过重新安装 webpacker...

【问题讨论】:

您确定它在 3035 上运行吗?默认情况下它运行在 8080 是的,控制台显示“项目正在localhost:3035 运行”如果你愿意,我可以从终端上传截图 【参考方案1】:

在本地运行 Rails 应用程序时,您需要同时启动 rails serverwebpack-dev-server。我通常将foreman 与一个简单的 Procfile 一起使用,尽管您也可以手动启动这两个。

# Procfile
server: bin/rails server
assets: bin/webpack-dev-server

然后您可以运行 Procfile 并使用以下命令启动两台服务器:foreman start

webpack-dev-server 端口 (3035) 不是您将要连接到以查看您的应用程序的端口。启动两台服务器并转到localhost:3000,您将看到您的rails 应用程序根路径页面(如果您还没有路由,则为默认的rails 页面)。

有一点需要注意,如果您使用 Foreman 启动服务器,它会将您的 rails 端口默认为 5000 而不是 3000。您可以在 Procfile 中配置它,或者如果您想要不同的行为,也可以在调用 foreman 时进行配置。

【讨论】:

Ty,一切正常。你知道一些适合 Rails+Vue 初学者的好教程/课程吗? IE 构建一个小应用程序 @Daniel 我没有任何资源给你。但我可以说你不需要专门找 Rails + Vue 教程。分别学习 Rails 和 Vue。 railscasts.com 非常适合学习 Rails。 @Daniel,railscast.com 很好,现在不再活跃,如果你想要很棒的 rails + vue 教程,去gorails.com

以上是关于带有 Rails(webpacker)的 Vue 错误:“无法获取 /”的主要内容,如果未能解决你的问题,请参考以下文章

Rails/Webpacker 未在生产中加载 Vue 样式

使用带有 Rails 引擎的 webpacker

Rails + webpacker + vue:“您正在使用仅运行时构建的 Vue,其中模板编译器不可用。”

Rails - 如何使用 webpack 删除 vue.js

带有 Webpack 和 Yarn 的 Rails 6 上的 ActionController 路由错误

在 JS 模块中使用 Rails-UJS(带有 webpacker 的 Rails 6)