首页 > 解决方案 > 当我运行 rails server 时,Webpacker 无法编译

问题描述

我正在启动一个新的 React-Rails 项目,并使用 rails server 和 webpack-dev-server 启动并运行示例应用程序(使用foreman start命令运行)。

但是,现在我尝试仅使用 rails 服务器 ( bundle exec rails s) 查看该站点,并且没有任何渲染。Webpack 没有给出任何关于编译的输出,所以看起来它只是没有运行。这是我的日志输出:

Started GET "/" for ::1 at 2020-10-08 10:31:02 -0400
Processing by HomeController#index as HTML
  Rendering home/index.html.erb
Everything's up-to-date. Nothing to do
  Rendered home/index.html.erb (Duration: 4.1ms | Allocations: 1636)
Completed 200 OK in 5ms (Views: 4.6ms | ActiveRecord: 0.0ms | Allocations: 1994)


New request from a remote host, data: {:remote_host=>nil, :remote_ip=>"::1"}
Started GET "/packs/js/index-73dbfbccb8bc3bfa596a.js" for ::1 at 2020-10-08 10:31:02 -0400

ActionController::RoutingError (No route matches [GET] "/packs/js/index-73dbfbccb8bc3bfa596a.js"):

这是我的 webpacker 配置文件:

# Note: You must restart bin/webpack-dev-server for changes to take effect

default: &default
  source_path: app/javascript
  source_entry_path: packs
  public_root_path: public
  public_output_path: packs
  cache_path: tmp/cache/webpacker
  webpack_compile_output: true

  # Additional paths webpack should lookup modules
  # ['app/assets', 'engine/foo/app/assets']
  additional_paths: [app_js]

  # Reload manifest.json on all requests so we reload latest compiled packs
  cache_manifest: false

  # Extract and emit a css file
  extract_css: false

  static_assets_extensions:
    - .jpg
    - .jpeg
    - .png
    - .gif
    - .tiff
    - .ico
    - .svg
    - .eot
    - .otf
    - .ttf
    - .woff
    - .woff2

  extensions:
    - .jsx
    - .mjs
    - .js
    - .sass
    - .scss
    - .css
    - .module.sass
    - .module.scss
    - .module.css
    - .png
    - .svg
    - .gif
    - .jpeg
    - .jpg

development:
  <<: *default
  compile: true

  # Reference: https://webpack.js.org/configuration/dev-server/
  dev_server:
    https: false
    host: localhost
    port: 3035
    public: localhost:3035
    hmr: false
    # Inline should be set to true if using HMR
    inline: true
    overlay: true
    compress: true
    disable_host_check: true
    use_local_ip: false
    quiet: false
    pretty: false
    headers:
      'Access-Control-Allow-Origin': '*'
    watch_options:
      ignored: '**/node_modules/**'


test:
  <<: *default
  compile: true

  # Compile test packs to a separate directory
  public_output_path: packs-test

production:
  <<: *default

  # Production depends on precompilation of packs prior to booting for performance.
  compile: false

  # Extract and emit a css file
  extract_css: true

  # Cache manifest.json for performance
  cache_manifest: true

谁能帮我弄清楚为什么当我运行 rails 服务器时我的 webpack 甚至无法运行?

标签: ruby-on-railswebpack

解决方案


事实证明,我错过了以下几行packs/application.js

import 'core-js/stable'
import 'regenerator-runtime/runtime'

推荐阅读