【问题标题】:Webpack Compile: Cannot find module '@babel/preset-env' when deploy productionWebpack 编译:部署生产时找不到模块“@babel/preset-env”
【发布时间】:2020-04-08 16:13:48
【问题描述】:

我使用 capistrano 部署我的 rails 项目(Rails 6.0.0,Ruby 2.6.0)

我在启动 `bundle exec cap production deploy 时得到以下日志

./app/javascript/packs/application.js 中的错误

模块构建失败(来自 ./node_modules/babel-loader/lib/index.js):

错误:找不到模块'@babel/preset-env'

./app/javascript/packs/server_rendering.js 中的错误

模块构建失败(来自 ./node_modules/babel-loader/lib/index.js):

错误:找不到模块'@babel/preset-env'

但是当我在本地 RAILS_ENV=production bundle exec rails assets:precompile 进行测试时。它构建成功

我的 package.json

{
  "name": "my_app_name",
  "private": true,
  "dependencies": {
    "@babel/preset-react": "^7.0.0",
    "@rails/actiontext": "^6.0.0",
    "@rails/webpacker": "^4.0.2",
    "axios": "^0.19.0",
    "babel-plugin-transform-react-remove-prop-types": "^0.4.24",
    "core-js": "2",
    "prop-types": "^15.7.2",
    "react": "^16.8.6",
    "react-dom": "^16.8.6",
    "react_ujs": "^2.6.0",
    "trix": "^1.0.0",
    "webpack-dev-server": "^3.3.1"
  },
  "devDependencies": {
    "@babel/preset-env": "^7.7.6",
    "babel-preset-env": "^1.7.0",
    "webpack-dev-server": "^3.3.1"
  }
}

我的app/javascript/packs/application.js

// Support component names relative to this directory:
var componentRequireContext = require.context("components", true);
var ReactRailsUJS = require("react_ujs");
ReactRailsUJS.useContext(componentRequireContext);

我的 app/javascript/packs/server_rendering.js

// By default, this pack is loaded for server-side rendering.
// It must expose react_ujs as `ReactRailsUJS` and prepare a require context.
var componentRequireContext = require.context("components", true);
var ReactRailsUJS = require("react_ujs");
ReactRailsUJS.useContext(componentRequireContext);

有什么解决办法吗?谢谢你

【问题讨论】:

    标签: ruby-on-rails deployment capistrano webpacker react-rails


    【解决方案1】:

    在生产模式下编译时你想要的任何东西都需要在dependencies 中。将 @babel/preset-envdevDependencies 移出到 package.json 中的 dependencies。你也可以删除babel-preset-env,因为那是多余的。

    【讨论】:

      猜你喜欢
      • 2021-03-03
      • 2021-05-25
      • 1970-01-01
      • 2019-07-30
      • 2019-03-24
      • 2021-11-04
      • 1970-01-01
      • 1970-01-01
      • 2019-10-24
      相关资源
      最近更新 更多