ruby-on-rails - Webpacker::Manifest::MissingEntryError

标签 ruby-on-rails reactjs webpack

关闭。这个问题需要debugging details .它目前不接受答案。












想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。

2年前关闭。




Improve this question




我使用 rails new 开始了一个 rails 项目与 --webpack=react .
我在database.yml 中生成了一个新 Controller 更新了我的PostgreSQL 密码。
到目前为止,一切正常。在这一点上,我要做的就是让 react 渲染默认的 hello_react.jsx 文件,该文件是由 rails 作为示例生成的。
当我放 <%= javascript_pack_tag 'hello_react' %>在我看来并运行服务器我收到以下错误:

Webpacker::Manifest::MissingEntryError in Home#index Showing G:/../../../myGroceryList/app/views/home/index.html.erb where line #1 raised:

Webpacker can't find hello_react.js in G:/../../../myGroceryList/public/packs/manifest.json. Possible causes:

You want to set webpacker.yml value of compile to true for your environment unless you are using the webpack -w or the webpack-dev-server. webpack has not yet re-run to reflect updates. You have misconfigured Webpacker's config/webpacker.yml file. Your webpack configuration is not creating a manifest. Your manifest contains: { }


我推了project up to GitHub.关于出了什么问题以及如何解决此错误的任何想法?
已解决:评论中的解决方案

最佳答案

Jonny B ,

我遇到了同样的问题。我能够确定我需要将“.jsx”添加到我的 webpacker.yml .

   extensions:
     - .js
+    - .jsx
     - .sass
     - .scss
     - .css

我还发现webpacker:compile未在页面刷新或文件更改时运行。我需要运行 bundle exec rake assets:precompile (或 bundle exec rake webpacker:compile )在每次更改后手动重新加载并查看更改。

我通过 Apache+Mod_Passenger 运行应用程序而不是使用 rails s (我同时开发了太多应用程序,无法在命令行上继续启动和停止服务器)。这似乎不适用于 Webpacker 的按需编译功能。使用 rails s 启动服务器将允许我点击 localhost:3000 上的应用程序,但 react 应用程序无法正确呈现。在 3000 上通过 Puma 服务器点击页面后,我现在可以看到编译的 Assets 在我的 Apache/Passenger 实例中工作。因此,按需编译似乎只有在通过命令行( rails s )启动的服务器中运行时才能正常工作......它无法正确呈现。 :-/

另一种选择(比运行 2 个服务器更好)是使用 bundle exec rake assets:precompile 在命令行上编译或 bundle exec rake webpacker:compile每当你做出改变。仍然是 PITA,但至少它有效......现在。如果我找到更好的解决方案,我会更新答案。

更新

经过大量的尝试,安装不同版本的 NodeJS、Ruby、rbenv、nvm 等,我能够确定 NODE_ENV没有为 Apache/Passenger 环境设置。使用 Rbenv,我可以添加一个 .rbenv-vars我的应用程序根目录中的文件包含:
NODE_ENV=development
RACK_ENV=development
RAILS_ENV=development

现在,Webpacker(和 NodeJS)看到我正在开发而不是生产中运行,并且按需编译正在运行。

关于ruby-on-rails - Webpacker::Manifest::MissingEntryError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52639256/

相关文章:

ruby-on-rails - Bundle 没有正确导入 gnuplot gem;名称错误 : uninitialized constant thrown on access

ruby-on-rails - rails 、回形针和 S3。避免保存原始图像?

ruby-on-rails - Ruby 简写 if else 条件

javascript - 鼠标滚动事件不适用于 react 滚动条内的 react 选择

css - Symfony 4 和 webpack encore,在添加 CSS 第三库时寻找好的实践

ruby-on-rails - 如何使用 rails、nginx 和乘客配置 `Access-Control-Allow-Origin`?

javascript - 路由不适用于 React router v4

javascript - 为什么在使用 ES6 和 ReactJS 时必须使用 bind?

javascript - Webpack 2 + ExtractTexWebpacktPlugin = 意外标记

visual-studio - Visual Studio 2017 无法识别 Webpack 源映射