#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.json2. @ChrisG показал мне новую ошибку, когда я выполнил ваше предложение, lol… [Устаревание] Синхронный XMLHttpRequest в основном потоке устарел из-за его пагубного воздействия на работу конечного пользователя. Для получения дополнительной справки проверьте xhr.spec.whatwg.org . Я думаю, что в моем приложении где-то указан неправильный путь, который я не могу найти: (
3. Работает ли веб-сайт иначе? В любом случае, вы погуглили ошибку? Довольно часто люди используют XMLHttpRequest и устанавливают для параметра async значение false, потому что они хотят написать код «синхронизации», но он зависает в браузере во время запроса и создает указанную выше ошибку., Я просмотрел ваш интерфейс, но не нашел никаких AJAX-запросов.
4. Перед моим сообщением здесь я наверняка погуглил. Я получаю сообщение об ошибке «Не удалось загрузить ресурс: net :: ERR_CONNECTION_REFUSED bundle.js: 1». Я добавлю URL-адрес приложения в сообщение, если это поможет
5. Я понятия не имею, как это решить: ( . У кого-нибудь есть идеи?