bundle.js не найден в проекте javascript MVC

#javascript #model-view-controller #amazon-ec2 #google-cloud-platform #bundle

#javascript #model-view-controller #amazon-ec2 #google-облачная платформа #пакет

Вопрос:

В локальной среде разработки он работает нормально, но когда проект является экземпляром AWS EC2 или экземпляром Google Cloud Plataform, bundle.js не найден в браузере. Пожалуйста, помогите?

package.json

 {
  "name": "agenda",
  "version": "1.0.2",
  "description": "",
  "main": "server.js",
  "scripts": {
    "start": "nodemon server.js --ignore public --ignore frontend",
    "dev": "webpack -w"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "dependencies": {
    "bcryptjs": "^2.4.3",
    "bootstrap": "^4.5.3",
    "connect-flash": "^0.1.1",
    "connect-mongo": "^3.2.0",
    "core-js": "^3.6.5",
    "css-loader": "^5.0.0",
    "csurf": "^1.11.0",
    "dotenv": "^8.2.0",
    "ejs": "^3.1.5",
    "express": "^4.17.1",
    "express-session": "^1.17.1",
    "helmet": "^4.2.0",
    "jquery": "^3.5.1",
    "mongoose": "^5.10.12",
    "popper.js": "^1.16.1",
    "regenerator-runtime": "^0.13.7",
    "style-loader": "^2.0.0",
    "validator": "^13.1.17"
  },
  "devDependencies": {
    "nodemon": "^2.0.6",
    "@babel/cli": "^7.12.1",
    "@babel/core": "^7.12.3",
    "@babel/preset-env": "^7.12.1",
    "babel-loader": "^8.1.0",
    "webpack": "^4.44.2",
    "webpack-cli": "^3.3.12"
  }
}
  

webpack.config.js

 const path = require('path'); // CommonJS

module.exports = {
  mode: 'production',
  entry: './frontend/main.js',
  output: {
    publicPath: "/public/",
    path: path.resolve(__dirname, 'public', 'assets', 'js'),
    filename: 'bundle.js'
  },
  module: {
    rules: [{
      exclude: /node_modules/,
      test: /.js$/,
      use: {
        loader: 'babel-loader',
        options: {
          presets: ['@babel/env']
        }
      }
    }, {
      test: /.css$/,
      use: ['style-loader', 'css-loader']
    }]
  },
  devtool: 'source-map'
};
  

package.json

   {
  "name": "agenda",
  "version": "1.0.2",
  "description": "",
  "main": "server.js",
  "scripts": {
    "start": "nodemon server.js --ignore public --ignore frontend",
    "dev": "webpack -w"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "dependencies": {
    "bcryptjs": "^2.4.3",
    "bootstrap": "^4.5.3",
    "connect-flash": "^0.1.1",
    "connect-mongo": "^3.2.0",
    "core-js": "^3.6.5",
    "css-loader": "^5.0.0",
    "csurf": "^1.11.0",
    "dotenv": "^8.2.0",
    "ejs": "^3.1.5",
    "express": "^4.17.1",
    "express-session": "^1.17.1",
    "helmet": "^4.2.0",
    "jquery": "^3.5.1",
    "mongoose": "^5.10.12",
    "popper.js": "^1.16.1",
    "regenerator-runtime": "^0.13.7",
    "style-loader": "^2.0.0",
    "validator": "^13.1.17"
  },
  "devDependencies": {
    "nodemon": "^2.0.6",
    "@babel/cli": "^7.12.1",
    "@babel/core": "^7.12.3",
    "@babel/preset-env": "^7.12.1",
    "babel-loader": "^8.1.0",
    "webpack": "^4.44.2",
    "webpack-cli": "^3.3.12"
  }
}
  

нижний колонтитул.ejs

 <div class="col-lg-2"></div>
</div>
</section>

<script src="/assets/js/bundle.js"></script>
</body>

</html>
  

структура папок здесь

папка проекта github: https://github.com/rimancete/js_Avancado/tree/master/node/agenda

url-адрес приложения: http://agenda.lojardente.com /

Комментарии:

1. Публикация приложения узла обычно означает, что хост будет запущен npm start ; все, что нужно, это запустить экспресс-сервер (с использованием nodemon, который не подходит для производства). Вероятно, вам нужен "start": "webpack amp;amp; node server.js" в вашем package.json

2. @ChrisG показал мне новую ошибку, когда я выполнил ваше предложение, lol… [Устаревание] Синхронный XMLHttpRequest в основном потоке устарел из-за его пагубного воздействия на работу конечного пользователя. Для получения дополнительной справки проверьте xhr.spec.whatwg.org . Я думаю, что в моем приложении где-то указан неправильный путь, который я не могу найти: (

3. Работает ли веб-сайт иначе? В любом случае, вы погуглили ошибку? Довольно часто люди используют XMLHttpRequest и устанавливают для параметра async значение false, потому что они хотят написать код «синхронизации», но он зависает в браузере во время запроса и создает указанную выше ошибку., Я просмотрел ваш интерфейс, но не нашел никаких AJAX-запросов.

4. Перед моим сообщением здесь я наверняка погуглил. Я получаю сообщение об ошибке «Не удалось загрузить ресурс: net :: ERR_CONNECTION_REFUSED bundle.js: 1». Я добавлю URL-адрес приложения в сообщение, если это поможет

5. Я понятия не имею, как это решить: ( . У кого-нибудь есть идеи?