全新的Rails 6.1.4.1失败,出现webpack错误- TypeError:没有'new'就无法叫用类别建构函式ServeCommand

q3qa4bjr  于 2022-11-13  发布在  Webpack
关注(0)|答案(4)|浏览(273)

一个全新的Rails 6.1.4.1应用程序无法运行bin/webpack-dev-server,并出现以下错误:

/rails_app/node_modules/webpack-cli/bin/utils/prompt-command.js:46
    return func(...args);
           ^

TypeError: Class constructor ServeCommand cannot be invoked without 'new'
    at runWhenInstalled (/rails_app/node_modules/webpack-cli/bin/utils/prompt-command.js:46:9)
    at promptForInstallation (/rails_app/node_modules/webpack-cli/bin/utils/prompt-command.js:140:10)
    at /rails_app/node_modules/webpack-cli/bin/cli.js:32:43
    at Object.<anonymous> (/rails_app/node_modules/webpack-cli/bin/cli.js:366:3)
    at Module._compile (internal/modules/cjs/loader.js:1072:14)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1101:10)
    at Module.load (internal/modules/cjs/loader.js:937:32)
    at Function.Module._load (internal/modules/cjs/loader.js:778:12)
    at Module.require (internal/modules/cjs/loader.js:961:19)
    at require (internal/modules/cjs/helpers.js:92:18)
whhtz7ly

whhtz7ly1#

This reported issue显示webpack-dev-server不再与Webpacker 5兼容。这意味着我们可以使用两个修复程序:
1.强制webpack-dev-server保持版本3
您可以通过更新package.json文件来完成此操作:

"webpack-dev-server": "~3"

1.升级到Webpacker 6
这个版本还没有发布,the upgrade path并不简单。

wvmv3b1j

wvmv3b1j2#

我通过将webpack降级到4.x.x解决了这个问题,因为rails/webpacker 5.x.x与webpack 5.x.x不兼容,但与4.x.x兼容。我在github www.example.com上的这个URL找到了这个答案https://github.com/webpack/webpack/issues/11649#issuecomment-779781768

vxf3dgd4

vxf3dgd44#

正如斯科特·K***所建议的,我跑了:

rails webpacker:install

这样就解决了这个问题。

相关问题