- Блог
- Веб-пакет: Не удается получить index.html с промежуточным программным обеспечением экспресс-сервера
- Вопрос:
- Настройка
- Проблема
- Ответ №1:
- Не удается получить /index.html. следуя руководству по Node.js и MongoDB
- Не могу взять html страницы сайта
- Блог
- Не удается ПОЛУЧИТЬ /index.html . при следовании руководству по Node.js и MongoDB
- Вопрос:
- Комментарии:
- Ответ №1:
- Ответ №2:
- Комментарии:
Блог
Веб-пакет: Не удается получить index.html с промежуточным программным обеспечением экспресс-сервера
#node.js #express #webpack #webpack-dev-server #webpack-dev-middleware
Вопрос:
Я следовал официальным инструкциям по началу работы webpack, чтобы настроить небольшой тестовый проект и конфигурационный файл. Как они рекомендуют, я использую экспресс-сервер с промежуточным программным обеспечением webpack.
Настройка
const express = require('express'); const webpack = require('webpack'); const webpackDevMiddleware = require('webpack-dev-middleware'); const app = express(); const config = require('./webpack.config.js'); const compiler = webpack(config); // Tell express to use the webpack-dev-middleware and use the webpack.config.js // configuration file as a base. app.use( webpackDevMiddleware(compiler, < publicPath: config.output.publicPath, >) ); // Serve the files on port 3000. app.listen(3000, function () < console.log('Example app listening on port 3000!n'); >);
Моя папка каталога выглядит так:
- dist/ - assets/ - css/ - bundle.index.html - bundle.about.html - index.html - about.html - src/ - fonts/ - images/ - sass/ - templates/ - about.html - index.html - ts/ - abstracts/ - utils/ - pages/ - about.ts - index.ts
А это мое webpack.config (убраны ненужные для этой цели предметы).
const path = require('path'); const HtmlWebpackPlugin = require('html-webpack-plugin'); const MiniCssExtractPlugin = require("mini-css-extract-plugin"); const CssMinimizerPlugin = require("css-minimizer-webpack-plugin"); module.exports = < mode: mode, entry: < index: './src/ts/pages/index.ts', about: './src/ts/pages/about.ts', >, output: < filename: 'bundle.[name].js', path: path.resolve(__dirname, './dist'), clean: true, publicPath: '.', assetModuleFilename: 'assets/[name][ext][query]', >, devServer: < port: 3000, sockPort: 3000, contentBase: path.resolve(__dirname, 'dist'), >, plugins: [ new HtmlWebpackPlugin(< title: 'Index', filename: 'index.html', template: 'dist/index.html', chunks: ['index'], >), new HtmlWebpackPlugin(< title: 'about', filename: 'about.html', template: 'dist/about.html', chunks: ['about'], >), ], module: < rules: [ < test: /.html$/i, loader: "html-loader", >, // Support von versch. Grafiktypen < test: /.(png|svg|jpg|jpeg|gif)$/i, type: 'asset/resource', generator: < filename: './assets/images/[name][ext][query]' >>, // Support von Fonts < test: /.(woff|woff2|eot|ttf|otf)$/i, type: 'asset/resource', generator: < filename: './assets/fonts/[name][ext][query]' >>, ], >, resolve: < extensions: ['.ts'], alias: < Style: path.resolve(__dirname, './src/sass'), Fonts: path.resolve(__dirname, './src/fonts'), Images: path.resolve(__dirname, './src/images'), >> >;
Проблема
Запустив localhost:3000 в моем браузере экспресс-возврат Cannot get / .
Запустив localhost:3000 в моем браузере экспресс-возврат Cannot get / index.html .
Запустив localhost:3000/dist/index.html в моем браузере экспресс-возврат Cannot get dist/index.html .
Проще говоря, я ничего не могу понять. Почему? В моей конфигурации указано, что dist каталог следует использовать в качестве корневого каталога.
Ответ №1:
Приведенные ниже значения для publicPath параметра должны работать:
const path = require("path"); const HtmlWebpackPlugin = require("html-webpack-plugin"); module.exports = < mode: "development", entry: < index: "./src/ts/pages/index.ts", about: "./src/ts/pages/about.ts", >, output: < filename: "bundle.[name].js", path: path.resolve(__dirname, "./dist"), clean: true, publicPath: "", >, plugins: [ new HtmlWebpackPlugin(< title: "Index", filename: "index.html", template: "src/templates/index.html", chunks: ["index"], >), new HtmlWebpackPlugin(< title: "about", filename: "about.html", template: "src/templates/about.html", chunks: ["about"], >), ] >;
const express = require("express"); const webpack = require("webpack"); const webpackDevMiddleware = require("webpack-dev-middleware"); const app = express(); const config = require("./webpack.config.js"); const compiler = webpack(config); app.use( webpackDevMiddleware(compiler, < publicPath: config.output.publicPath, >) ); app.listen(3000, function () < console.log("Example app listening on port 3000!n"); >);
"devDependencies": < "html-webpack-plugin": "^5.3.2", "webpack": "^5.51.1", "webpack-cli": "^4.8.0", "webpack-dev-server": "^4.0.0" >, "dependencies":
Не удается получить /index.html. следуя руководству по Node.js и MongoDB
Поскольку при запуске приложения было объявлено, что есть устаревшие приложения, но ничего не произошло.
MongoDB запускается правильно
mongod ,"s":"I", "c":"NETWORK", "id":23016, "ctx":"listener","msg":"Waiting for connections","attr":>
и приложение узла server listening at port 3000 connection succeeded так что я не знаю, где я напортачил
Мой режиссер выглядит так
project root ├── app.js ├── index.html └── package-lock.json ├── signup_success.html ├── style.css
Firefox дает мне 404 GET error on inspection
var express=require("express"); var bodyParser=require("body-parser"); const mongoose = require('mongoose'); mongoose.connect('mongodb://localhost:27017/gfg', < useNewUrlParser: true, useUnifiedTopology: true >); var db=mongoose.connection; db.on('error', console.log.bind(console, "connection error")); db.once('open', function(callback)< console.log("connection succeeded"); >) var app=express() app.use(bodyParser.json()); app.use(express.static(__dirname + "/../public")); app.use(bodyParser.urlencoded(< extended: true >)); app.post('/sign_up', function(req,res) < var name = req.body.name; var email =req.body.email; var pass = req.body.password; var phone =req.body.phone; var data = < "name": name, "email":email, "password":pass, "phone":phone >db.collection('details').insertOne(data,function(err, collection)< if (err) throw err; console.log("Record inserted Successfully"); >); return res.redirect('signup_success.html'); >) app.get('/', (req,res) => < res.render('index.html'); >).listen(3000) console.log("server listening at port 3000");
Не могу взять html страницы сайта
Проблема следующая: есть код который берет html и записывает его в переменную. На большинстве сайтов все работает хорошо, но мне нужно чтобы он работал на https://ru.dotabuff.com/. Пишет что не удалось создать защищенный канал ssl/tls. Помогите, пожалуйста.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
static string getResponse(string uri) { StringBuilder sb = new StringBuilder(); byte[] buf = new byte[8192]; HttpWebRequest request = (HttpWebRequest)WebRequest.Create(uri); HttpWebResponse response = (HttpWebResponse)request.GetResponse(); Stream resStream = response.GetResponseStream(); int count = 0; do { count = resStream.Read(buf, 0, buf.Length); if (count != 0) { sb.Append(Encoding.Default.GetString(buf, 0, count)); } } while (count > 0); return sb.ToString(); }
Не могу получить HTML код страницы
Здравствуйте, у меня такая проблема посылаю post запрос а в ответ вместо HTML кода, кракозябры в.
Как взять число из HTML кода страницы?
В html странице есть такой код <span мне необходимо чтобы при нажатии на.
Страницы сайта php сохранить в html
Есть 3х страничный сайт index.php, info.php, contact.php. В каждой из страниц подтягиваються.
Оптимизация кода страницы школьного сайта на HTML
Всем доброго времени суток. Читая данный форум и другие ресурсы, стараюсь как могу улучшить код.
Блог
Не удается ПОЛУЧИТЬ /index.html . при следовании руководству по Node.js и MongoDB
#html #node.js #mongodb #express #mongoose
#HTML #node.js #mongodb #выразить #мангуст
Вопрос:
Я следую руководству по созданию формы регистрации, отсюда. Выполнение его шагов приводит к ошибке при попытке подключения http://127.0.0.1:3000/
Я начинаю MongoDB с C:Program FilesMongoDBServer4.4bin
Мое единственное изменение в коде
mongoose.connect('mongodb://localhost:27017/gfg', < useNewUrlParser: true, useUnifiedTopology: true >);
Поскольку при запуске приложения было объявлено, что есть устаревшие приложения, но оно ничего не сделало.
MongoDB запускается правильно
mongod "t":"$date":"2020-09-28T20:39:11.740-04:00">,"s":"I", "c":"NETWORK", "id":23016, "ctx":"listener","msg":"Waiting for connections","attr":"port":27017,"ssl":"off">>
и приложение узла server listening at port 3000 connection succeeded , поэтому я не знаю, где я ошибаюсь
project root ├── app.js ├── index.html └── package-lock.json ├── signup_success.html ├── style.css
Firefox выдает мне 404 GET error on inspection
var express=require("express"); var bodyParser=require("body-parser"); const mongoose = require('mongoose'); mongoose.connect('mongodb://localhost:27017/gfg', < useNewUrlParser: true, useUnifiedTopology: true >); var db=mongoose.connection; db.on('error', console.log.bind(console, "connection error")); db.once('open', function(callback)< console.log("connection succeeded"); >) var app=express() app.use(bodyParser.json()); app.use(express.static(__dirname "/../public")); app.use(bodyParser.urlencoded(< extended: true >)); app.post('/sign_up', function(req,res)< var name = req.body.name; var email =req.body.email; var pass = req.body.password; var phone =req.body.phone; var data = < "name": name, "email":email, "password":pass, "phone":phone > db.collection('details').insertOne(data,function(err, collection)< if (err) throw err; console.log("Record inserted Successfully"); >); return res.redirect('signup_success.html'); >) app.get('/', (req,res) => < res.render('index.html'); >).listen(3000) console.log("server listening at port 3000");
Комментарии:
Ответ №1:
Итак, ваша проблема в том, что вы используете render для своих представлений. Однако вы не указали механизм рендеринга (ejs, pug и т. Д.).
Сказав это, HTML-файлы не требуют механизма рендеринга. Вы можете просто обслуживать их следующим образом:
app.get('/', (req, res) => < res.sendFile('index.html', < root: './' > >)
Ответ №2:
Если вы столкнулись с проблемой при доступе http://127.0.0.1:3000 / и получение этой ошибки Не может ПОЛУЧИТЬ /index.html , добавьте нижеприведенную строку к app.js после строки var app=express().
«Не удается ПОЛУЧИТЬ /index.html » ошибка будет устранена.
var express=require("express"); var bodyParser=require("body-parser"); const mongoose = require('mongoose'); mongoose.connect('mongodb://localhost:27017/gfg', < useNewUrlParser: true, useUnifiedTopology: true >); var db=mongoose.connection; db.on('error', console.log.bind(console, "connection error")); db.once('open', function(callback)< console.log("connection succeeded"); >) var app=express() app.use(express.static(__dirname)); app.use(bodyParser.json()); app.use(express.static(__dirname "/../public")); app.use(bodyParser.urlencoded(< extended: true >)); app.post('/sign_up', function(req,res)< var name = req.body.name; var email =req.body.email; var pass = req.body.password; var phone =req.body.phone; var data = < "name": name, "email":email, "password":pass, "phone":phone > db.collection('details').insertOne(data,function(err, collection)< if (err) throw err; console.log("Record inserted Successfully"); >); return res.redirect('signup_success.html'); >) app.get('/', (req,res) => < res.render('index.html'); >).listen(3000) console.log("server listening at port 3000");
html> html> head> title> Signup Form title> link rel="stylesheet" href= "https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity= "sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va PmSTsz/K68vbdEjh4u" crossorigin="anonymous"> link rel="stylesheet" type="text/css" href="style.css"> head> body> br> br> br> div class="container" > div class="row"> div class="col-md-3"> div> div class="col-md-6 main"> form action="/sign_up" method="post"> h1> Signup form h1> input class="box" type="text" name="name" id="name" placeholder="Name" required />br> input class="box" type="email" name="email" id="email" placeholder="E-Mail " required />br> input class="box" type="password" name="password" id="password" placeholder="Password " required/>br> input class="box" type="text" name="phone" id="phone" placeholder="Phone Number " required/>br> br> input type="submit" id="submitDetails" name="submitDetails" value="Submit" />br> form> div> div class="col-md-3"> div> div> div> body> html>
Комментарии:
1. Содержит ли ваш каталог проекта «index.html «? Возможно, вы захотите включить сюда и остальной код
2. Как вы предположили, я внес изменения