Closed. This question needs debugging details。它当前不接受答案。
想改善这个问题吗?更新问题,以使为on-topic。
去年关闭。
Improve this question
我已经使用rails new和--webpack = react启动了Rails项目。我生成了一个新的控制器,更新了database.yml中的postgresql密码。到目前为止,一切正常。在这一点上,我想要做的就是获取反应以渲染默认的hello_react.jsx文件,该文件是由rails作为示例生成的。当我在视图中放入并运行服务器时,出现以下错误。
显示在Home#index中的Webpacker :: Manifest :: MissingEntryError
G:/../../../ myGroceryList / app / views / home / index.html.erb,其中第1行
上调:
Webpacker在以下位置找不到hello_react.js
G:/../../../ myGroceryList / public / packs / manifest.json。可能的原因:
您想将webpacker.yml的compile值设置为true
环境,除非您使用webpack -w或
webpack-dev-server。 webpack尚未重新运行以反映更新。您
Webpacker的config / webpacker.yml文件配置错误。您的Webpack
配置未创建清单。您的清单包含:{}
我已按下project up to github.关于发生了什么问题的任何想法?
解决:评论中的解决方案
我还发现
我通过Apache + Mod_Passenger而不是使用
另一个选择(比运行2个服务器更好)是每当进行更改时,使用
更新
经过大量的试验,安装了不同版本的NodeJS,Ruby,rbenv,nvm等,我可以确定未为Apache / Passenger环境设置
现在,Webpacker(和NodeJS)看到我正在开发中而不是在生产中运行,并且按需编译正在运行。
想改善这个问题吗?更新问题,以使为on-topic。
去年关闭。
Improve this question
我已经使用rails new和--webpack = react启动了Rails项目。我生成了一个新的控制器,更新了database.yml中的postgresql密码。到目前为止,一切正常。在这一点上,我想要做的就是获取反应以渲染默认的hello_react.jsx文件,该文件是由rails作为示例生成的。当我在视图中放入并运行服务器时,出现以下错误。
显示在Home#index中的Webpacker :: Manifest :: MissingEntryError
G:/../../../ myGroceryList / app / views / home / index.html.erb,其中第1行
上调:
Webpacker在以下位置找不到hello_react.js
G:/../../../ myGroceryList / public / packs / manifest.json。可能的原因:
您想将webpacker.yml的compile值设置为true
环境,除非您使用webpack -w或
webpack-dev-server。 webpack尚未重新运行以反映更新。您
Webpacker的config / webpacker.yml文件配置错误。您的Webpack
配置未创建清单。您的清单包含:{}
我已按下project up to github.关于发生了什么问题的任何想法?
解决:评论中的解决方案
最佳答案
Jonny B,
我遇到了同样的问题。我能够确定需要在我的webpacker.yml
中添加'.jsx'。
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服务器访问该页面后,现在可以看到已编译资产在我的Apache / Passenger实例中运行。因此,按需编译似乎仅在在命令行(rails s
)上启动的服务器中运行时才能正常工作。 :-/另一个选择(比运行2个服务器更好)是每当进行更改时,使用
bundle exec rake assets:precompile
或bundle exec rake webpacker:compile
在命令行上进行编译。仍然是PITA,但至少现在可以使用。如果找到更好的解决方案,我将更新答案。更新
经过大量的试验,安装了不同版本的NodeJS,Ruby,rbenv,nvm等,我可以确定未为Apache / Passenger环境设置
NODE_ENV
。使用Rbenv,我能够在我的应用程序根目录中添加一个.rbenv-vars
文件,其中包含:NODE_ENV=development
RACK_ENV=development
RAILS_ENV=development
现在,Webpacker(和NodeJS)看到我正在开发中而不是在生产中运行,并且按需编译正在运行。
09-25 17:38