Добавление webpack-cli как devDependency приводит к сбою сборки Heroku

У меня есть проект React, который успешно создается и разворачивается на Heroku, но только если webpack-cli это не devDependency, Если я yarn add -D webpack-cli и затем попытка развернуть, сборка завершается неудачно следующим образом:

   Entrypoint main = main.js
   [0] ./src/index.js 320 bytes {0} [built] [failed] [1 error]

   ERROR in ./src/index.js 14:2
   Module parse failed: Unexpected token (14:2)
   You may need an appropriate loader to handle this file type, currently no loaders are configured to process this file. See https://webpack.js.org/concepts#loaders
   | 
   | ReactDOM.render(
   >   <Router>
   |     <ThemeProvider theme={theme}>
   |       <App />
   Child html-webpack-plugin for "index.html":
        1 asset
       Entrypoint undefined = ./index.html
       [0] ./node_modules/html-webpack-plugin/lib/loader.js!./public/index.html 367 bytes {0} [built]
       [2] (webpack)/buildin/global.js 472 bytes {0} [built]
       [3] (webpack)/buildin/module.js 497 bytes {0} [built]
           + 1 hidden module

Тем не менее, это удается локально. Удаление webpack-cli вызывает успешную сборку как локально, так и на Heroku.

Редактировать: вот мой package.json файлы

Когда это не удается:

{
  "name": "dmf",
  "version": "0.1.0",
  "description": "",
  "scripts": {
    "start": "SKIP_PREFLIGHT_CHECK=true react-scripts start",
    "dev": "webpack-dev-server --env.mode development --config webpack.dev.js",
    "build": "webpack --env.mode production --config webpack.prod.js",
    "heroku-postbuild": "npm run build"
  },
  "license": "MIT",
  "dependencies": {
    "react": "^16.8.1",
    "react-dom": "^16.8.1",
    "react-router-dom": "^5.0.1",
    "react-scripts": "^3.0.1",
    "styled-components": "^4.3.2",
    "webpack": "^4.38.0"
  },
  "devDependencies": {
    "@babel/core": "^7.0.0-0",
    "@babel/plugin-transform-react-jsx": "^7.3.0",
    "babel-loader": "^8.0.6",
    "babel-preset-nano-react-app": "^0.1.0",
    "html-webpack-plugin": "^3.2.0",
    "parcel-bundler": "^1.11.0",
    "webpack-cli": "^3.3.6",
    "webpack-dev-server": "^3.7.2",
    "webpack-merge": "^4.2.1"
  },
  "babel": {
    "presets": [
      "nano-react-app"
    ],
    "plugins": [
      [
        "@babel/plugin-proposal-class-properties",
        {
          "loose": true
        }
      ],
      [
        "@babel/plugin-transform-react-jsx",
        {
          "pragmaFrag": "React.Fragment"
        }
      ]
    ]
  }
}

Когда это удастся:

{
  "name": "dmf",
  "version": "0.1.0",
  "description": "",
  "scripts": {
    "start": "SKIP_PREFLIGHT_CHECK=true react-scripts start",
    "build": "webpack --env.mode production --config webpack.prod.js",
    "heroku-postbuild": "npm run build"
  },
  "license": "MIT",
  "dependencies": {
    "react": "^16.8.1",
    "react-dom": "^16.8.1",
    "react-router-dom": "^5.0.1",
    "react-scripts": "^3.0.1",
    "styled-components": "^4.3.2",
    "webpack": "^4.38.0"
  },
  "devDependencies": {
    "@babel/core": "^7.0.0-0",
    "@babel/plugin-transform-react-jsx": "^7.3.0",
    "babel-loader": "^8.0.6",
    "babel-preset-nano-react-app": "^0.1.0",
    "html-webpack-plugin": "^3.2.0",
    "parcel-bundler": "^1.11.0",
    "webpack-merge": "^4.2.1"
  },
  "babel": {
    "presets": [
      "nano-react-app"
    ],
    "plugins": [
      [
        "@babel/plugin-proposal-class-properties",
        {
          "loose": true
        }
      ],
      [
        "@babel/plugin-transform-react-jsx",
        {
          "pragmaFrag": "React.Fragment"
        }
      ]
    ]
  }
}

Обе версии package.json строит локально.

0 ответов

Другие вопросы по тегам