首页 > 解决方案 > 在 javascript MVC 项目中找不到 bundle.js

问题描述

在本地开发环境中它工作正常,但是当项目是 AWS EC2 实例或 Google Cloud Plataform 实例时,在浏览器上找不到 bundle.js。请帮忙?

包.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'
};

包.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

应用网址: http ://agenda.lojardente.com/

标签: javascriptmodel-view-controlleramazon-ec2google-cloud-platformbundle

解决方案


推荐阅读