Webpack "npm run build" не работает в Google Cloud, но работает на локальном компьютере

Пользуюсь Google Cloud App Engine, до недавнего времени все работало отлично.

У меня есть приложение React, которое я использую для объединения в пакет. Всякий раз, когда я запускаю рабочий файл webpack на своем локальном компьютере, он работает нормально, но всякий раз, когда я запускаю его в Google Cloud App Engine, он застревает здесь clean-webpack-plugin: / home / luis / projectname / dist был удален.

Раньше он работал нормально, изменилось только то, что я добавил собственный домен и ssl through Let's encrypt. В настоящее время есть два экземпляра через GAE, на которых запущена предыдущая версия сайта (мне нужно ее обновить)

Я попытался создать новый проект, и, повторяя процесс с нуля, проблема не устранена.

редактировать:

  • Вот package.json { "name": "roto-hive", "version": "0.5.0", "engines": { "node": "8.11.3" }, "description": "RotoHive Web Application", "main": "index.js", "directories": { "test": "test" }, "dependencies": { "body-parser": "^1.18.3", "dotenv": "^6.0.0", "express": "^4.16.3", "fantasydata-node-client": "^1.1.0", "firebase": "^5.0.4", "firebase-admin": "^5.12.1", "fs-extra": "^6.0.1", "mini-css-extract-plugin": "^0.4.1", "mobx": "^5.0.2", "mobx-react": "^5.2.3", "moment": "^2.22.2", "optimize-css-assets-webpack-plugin": "^4.0.3", "react": "^16.4.1", "react-beautiful-dnd": "^7.1.3", "react-circular-progressbar": "^0.8.0", "react-cookie-consent": "^1.7.0", "react-dom": "^16.4.1", "react-firebaseui": "^3.0.4", "react-fontawesome": "^1.6.1", "react-image": "^1.3.1", "react-js-pagination": "^3.0.2", "react-recaptcha": "^2.3.8", "react-responsive-modal": "^3.0.3", "react-router-dom": "^4.3.1", "react-select": "^1.2.1", "react-spinkit": "^3.0.0", "react-toastify": "^4.1.0", "rimraf": "^2.6.2", "solc": "^0.4.24", "truffle-hdwallet-provider": "0.0.5", "uglifyjs-webpack-plugin": "^1.2.7", "web3": "^1.0.0-beta.35" }, "devDependencies": { "assert": "^1.4.1", "babel-cli": "^6.26.0", "babel-eslint": "^8.2.3", "babel-loader": "^7.1.4", "babel-minify-webpack-plugin": "^0.3.1", "babel-plugin-transform-class-properties": "^6.24.1", "babel-plugin-transform-decorators": "^6.24.1", "babel-plugin-transform-decorators-legacy": "^1.3.5", "babel-plugin-transform-object-rest-spread": "^6.26.0", "babel-preset-env": "^1.7.0", "babel-preset-react": "^6.24.1", "chai": "^4.1.2", "clean-webpack-plugin": "^0.1.19", "compression-webpack-plugin": "^1.1.11", "css-loader": "^0.28.11", "enzyme": "^3.3.0", "eslint": "^4.19.1", "eslint-config-standard": "^11.0.0", "eslint-loader": "^2.0.0", "eslint-plugin-import": "^2.12.0", "eslint-plugin-node": "^6.0.1", "eslint-plugin-promise": "^3.8.0", "eslint-plugin-react": "^7.9.1", "eslint-plugin-standard": "^3.1.0", "file-loader": "^1.1.11", "ganache-cli": "^6.1.3", "html-webpack-plugin": "^3.2.0", "jshint": "^2.9.6", "lodash": "^4.17.10", "mocha": "^5.2.0", "nodemon": "^1.17.5", "prettier-eslint": "^8.8.1", "purecss": "^1.0.0", "react-particles-js": "^2.2.0", "react-test-renderer": "^16.4.1", "style-loader": "^0.21.0", "webpack": "^4.14.0", "webpack-bundle-analyzer": "^2.13.1", "webpack-cli": "^3.0.8", "webpack-node-externals": "^1.7.2" }, "scripts": { "build": "webpack --config webpack.prod.js", "start": "node ./dist/server.js", "clean": "rm -rf dist node_modules build", "watch": "webpack --watch --config webpack.dev.js", "test": "mocha", "start:dev": "npm run build && nodemon ./dist/server.js" }, "repository": { "type": "git", "url": "git+https://[email protected]/LDLugo/rotohive.git" }, "author": "", "license": "ISC", "homepage": "https://bitbucket.org/LDLugo/rotohive#readme" }

  • Вот файл webpack.prod.js

`

const path = require('path')
const nodeExternals = require('webpack-node-externals')
const HtmlWebPackPlugin = require('html-webpack-plugin')
const CleanWebpackPlugin = require('clean-webpack-plugin')

const UglifyJsPlugin = require('uglifyjs-webpack-plugin')
const MiniCssExtractPlugin = require('mini-css-extract-plugin')
const OptimizeCSSAssetsPlugin = require('optimize-css-assets-webpack-plugin')

const modeObj = 'production'
const moduleObj = {
  rules: [
    {
      test: /\.(js|jsx)$/,
      exclude: /node_modules/,
      use: 'babel-loader'
    },
    {
      test: /\.js$/,
      exclude: /node_modules/,
      use: ['babel-loader', 'eslint-loader']
    },
    {
      test: /\.css$/,
      use: [
        { loader: 'style-loader' },
        { loader: 'css-loader' }
      ]
    },
    {
      test: /\.(png|svg|jpg|gif)$/,
      use: [
        'file-loader'
      ]
    },
    {
      test: /\.(woff|woff2|eot|ttf|otf)$/,
      use: [
        'file-loader'
      ]
    }
  ]
}

const client = {
  entry: {
    'client': './src/client/index.js'
  },
  mode: modeObj,
  target: 'web',
  output: {
    filename: '[name].js',
    path: path.resolve(__dirname, 'dist/public')
  },
  devtool: 'source-map',
  module: moduleObj,
  plugins: [
    new HtmlWebPackPlugin({
      template: 'public/index.html',
      favicon: 'public/favicon.ico'
    }),
    new CleanWebpackPlugin(['dist']),
    new MiniCssExtractPlugin({
      filename: '[name].css',
      chunkFilename: '[id].css'
    })
  ],
  optimization: {
    minimizer: [
      new UglifyJsPlugin({
        cache: true,
        parallel: true,
        sourceMap: true
      }),
      new OptimizeCSSAssetsPlugin({})
    ]
  }
}

const server = {
  entry: {
    'server': './src/server/index.js'
  },
  mode: modeObj,
  target: 'node',
  output: {
    filename: '[name].js',
    path: path.resolve(__dirname, 'dist')
  },
  optimization: {
    splitChunks: {
      chunks: 'all'
    }
  },
  module: moduleObj,
  externals: [nodeExternals()]
}

module.exports = [client, server]

редактировать: Поэтому я поместил код в папку dist и попытался развернуть его вручную. GAE выплюнул эту ошибку: npm ERR! код ELIFECYCLE (а также другие вещи, но этот мне запомнился)

Все остальные

Можете ли вы поделиться своим package.json и другими файлами конфигурации, если таковые имеются?

alegria 09.08.2018 19:23

Я добавил их сейчас, дайте мне знать, если вам понадобится что-нибудь еще

Luis Osta 09.08.2018 19:53

Я запустил ту же команду в heroku, и она тоже сказала: «процесс завершен»

Luis Osta 09.08.2018 20:40

Не могли бы вы предоставить полный вывод ошибок и попробовать выполнить развертывание с настройкой детализации для отладки.

komarkovich 10.08.2018 13:07
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
3
4
724
1

Ответы 1

Пока я не смог решить эту проблему (мне удалось временно решить ее, но она всегда возвращалась). Я нашел работу.

Итак, я загрузил google sdk на свой локальный компьютер, а затем подключил его к моей облачной учетной записи Google (той, в которой я создал проект). Затем развернул его с моей локальной машины.

Итак, я смог собрать с npm run build, а затем использовал gcloud app deploy для развертывания связанного кода.

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