Как разбить большой index.html, а потом всё загрузить чтобы сервер node.js заработал?
Не могу понять как такое простое действие делать.
Не могу понять как такое простое действие делать.
В лбой папке создаём package.json
{
"name": "static-file-fun",
"private": true,
"scripts": {
"start": "node app.js"
}
}
var express = require("express");
var morgan = require("morgan");
var path = require("path");
var fs = require("fs");
var app = express();
app.use(morgan("short"));
app.use(function(req, res, next) {
console.log("Request IP: " + req.url);
console.log("Request date: " + new Date());
next();
});
app.use(function(req, res, next) {
var filePath = path.join(__dirname, "static");
//Тут https://expressjs.com/en/4x/api.html поисковик на fs.stat ничего не выдаёт. Не знаю как определить err, fileInfo
fs.stat(filePath, function(err, fileInfo) {
if (err) {
//next();
return;
}
if (fileInfo.isFile()) {
res.sendFile(filePath);
} else {
next();
}
});
});
app.use(function(req, res) {
res.status(404);
res.send("File not found!");
});
app.listen(3000, function() {
console.log("App started on port 3000");
});
Вот ещё загадка.
console.log(fs) => {....stat: [Function: stat],...}
Как переписать так чтобы в выпадающем меню выбрать температуру, а затем в другом выпадающем меню выбрать толщину пластины относящейся к выбранной температуре.
<!DOCTYPE html>
<html lang="en-US">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>Расчёт параметров.</title>
</head>
<body>
<h1>Расчёт параметров.</h1>
<p align="center">
<label for="temp200">Температура нагрева 200°C.</label>
<select name="temp200" id="temp200">
<option value="">Толщина пластины:</option>
<option value="05">0,5 см</option>
<option value="06">0,6 см</option>
<option value="08">0,8 см</option>
</select>
<label for="temp300">Температура нагрева 300°C.</label>
<select name="temp300" id="temp300">
<option value="">Толщина пластины:</option>
<option value="15">1,5 см</option>
<option value="20">2,0 см</option>
<option value="28">2,8 см</option>
</select>
</p>
<script>
const plate05 = [
{ w1: 0.1, w2: 0.5, Jv1: 6.13, Jv2: 2.75, a: 3.89 },
{ w1: 0.5, w2: 2, Jv1: 2.75, Jv2: 1.36, a: 3.54 },
{ w1: 2, w2: 4, Jv1: 1.36, Jv2: 0.95, a: 3.57 },
{ w1: 4, w2: 9.63, Jv1: 0.95, Jv2: 0.55, a: 3.5 },
{ w1: 9.63, w2: 35, Jv1: 0.55, Jv2: 0.3, a: 3.5 },
{ w1: 35, w2: 78.03, Jv1: 0.3, Jv2: 0, a: 3.5 }
];
const plate06 = [
{ w1: 0.1, w2: 0.5, Jv1: 6.13, Jv2: 2.75, a: 3.89 },
{ w1: 0.5, w2: 2, Jv1: 2.75, Jv2: 1.36, a: 3.54 },
{ w1: 2, w2: 4, Jv1: 1.36, Jv2: 0.95, a: 3.57 },
{ w1: 4, w2: 9.63, Jv1: 0.95, Jv2: 0.55, a: 3.5 },
{ w1: 9.63, w2: 35, Jv1: 0.55, Jv2: 0.3, a: 3.5 },
{ w1: 35, w2: 78.03, Jv1: 0.3, Jv2: 0, a: 3.5 }
];
const plate08 = [
{ w1: 0.1, w2: 0.5, Jv1: 6.13, Jv2: 2.75, a: 3.89 },
{ w1: 0.5, w2: 2, Jv1: 2.75, Jv2: 1.36, a: 3.54 },
{ w1: 2, w2: 4, Jv1: 1.36, Jv2: 0.95, a: 3.57 },
{ w1: 4, w2: 9.63, Jv1: 0.95, Jv2: 0.55, a: 3.5 },
{ w1: 9.63, w2: 35, Jv1: 0.55, Jv2: 0.3, a: 3.5 },
{ w1: 35, w2: 78.03, Jv1: 0.3, Jv2: 0, a: 3.5 }
];
const plate15 = [
{ w1: 0.1, w2: 0.5, Jv1: 6.13, Jv2: 2.75, a: 3.89 },
{ w1: 0.5, w2: 2, Jv1: 2.75, Jv2: 1.36, a: 3.54 },
{ w1: 2, w2: 4, Jv1: 1.36, Jv2: 0.95, a: 3.57 },
{ w1: 4, w2: 9.63, Jv1: 0.95, Jv2: 0.55, a: 3.5 },
{ w1: 9.63, w2: 35, Jv1: 0.55, Jv2: 0.3, a: 3.5 },
{ w1: 35, w2: 78.03, Jv1: 0.3, Jv2: 0, a: 3.5 }
];
const plate20 = [
{ w1: 0.1, w2: 0.5, Jv1: 6.13, Jv2: 2.75, a: 3.89 },
{ w1: 0.5, w2: 2, Jv1: 2.75, Jv2: 1.36, a: 3.54 },
{ w1: 2, w2: 4, Jv1: 1.36, Jv2: 0.95, a: 3.57 },
{ w1: 4, w2: 9.63, Jv1: 0.95, Jv2: 0.55, a: 3.5 },
{ w1: 9.63, w2: 35, Jv1: 0.55, Jv2: 0.3, a: 3.5 },
{ w1: 35, w2: 78.03, Jv1: 0.3, Jv2: 0, a: 3.5 }
];
const plate28 = [
{ w1: 0.1, w2: 0.5, Jv1: 6.13, Jv2: 2.75, a: 3.89 },
{ w1: 0.5, w2: 2, Jv1: 2.75, Jv2: 1.36, a: 3.54 },
{ w1: 2, w2: 4, Jv1: 1.36, Jv2: 0.95, a: 3.57 },
{ w1: 4, w2: 9.63, Jv1: 0.95, Jv2: 0.55, a: 3.5 },
{ w1: 9.63, w2: 35, Jv1: 0.55, Jv2: 0.3, a: 3.5 },
{ w1: 35, w2: 78.03, Jv1: 0.3, Jv2: 0, a: 3.5 }
];
const arrTemp200 = [
{ x: "05", y: plate05 },
{ x: "06", y: plate06 },
{ x: "08", y: plate08 }
];
const arrTemp300 = [
{ x: "15", y: plate15 },
{ x: "20", y: plate20 },
{ x: "28", y: plate28 }
];
const allTemp = [
arrTemp200, arrTemp300
];
function findAndReturn(array, value) {
for (let obj of array) {
if (value === obj.x) {
console.log(obj.y);
// console.log(obj.w0L);
// console.log(obj.w0H);
// document.getElementById("w00").value = value;
// document.getElementById("w0L").value = obj.w0L;
// document.getElementById("w0H").value = obj.w0H;
}
}
};
const selectTemp200 = document.querySelector("#temp200");
selectTemp200.addEventListener("change", () => {
const value1 = (selectTemp200.value);
// console.log(value1)
findAndReturn(arrTemp200, value1);
});
const selectTemp300 = document.querySelector("#temp300");
selectTemp300.addEventListener("change", () => {
const value1 = (selectTemp300.value);
// console.log(value1)
findAndReturn(arrTemp300, value1);
});
</script>
</body>
</html>
Если у кого есть опыт написания серверной стороны на expressjs сделайте так чтобы код внизу заработал. Уже задолбался читать про expressjs, не хватает примера
node myapp.js
<!DOCTYPE html>
<html>
<body>
<input type="number" id="myNumber0">
<input type="number" id="myNumber1">
<input type="number" id="myNumber2">
<button onclick="calc()">Try it</button>
</body>
</html>
и вот сeрвер возвращает
<!DOCTYPE html>
<html>
<body>
<input type="string" id="myNumber3">
<input type="string" id="myNumber4">
<input type="string" id="myNumber5">
function calc() {
const V0 = parseFloat(document.getElementById("myNumber0").value);
const V1 = parseFloat(document.getElementById("myNumber1").value);
const V2 = parseFloat(document.getElementById("myNumber2").value);
for (let i of [V0,V1,V2]){
if (isNaN(i)) {
alert(`Oops, it is ${i}`);
} else {
document.getElementById("myNumber3").value = V0 + V1;
document.getElementById("myNumber4").value = V1 + V2;
document.getElementById("myNumber5").value = V2 + V0;
}
}
};
</body>
</html>
Что значит «Серверный код можно писать на любой платформе. » вот тут https://learn.javascript.ru/websockets
Тут вот нашёл https://learn.microsoft.com/en-us/troubleshoot/developer/webapps/aspnet/www-a.... Может у кого ещё есть идеи, опыт в таком деле.
В консоль вставлять скопированный код нельзя, ругается и настройки менять тоже нельзя. Думаю подключить emacs. Но не знаю есть ли на нём такая возможность. что при написании кода вываливаются менюшки как в консоли браузера или как в VScode.
Товарищи модераторы,
Можно сделать так чтобы комментарии игнорируемых участников не отражались бы в уведомлениях, а также чтобы в треде не было бы кнопки показать все комментарии?
x y
10 0.2
4 1
3 2
2 3
1 10
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatable" content="ie=edge">
<title>Document</title>
</head>
<div id="container"></div>
<body>
<script type="module">
import * as d3 from "https://cdn.jsdelivr.net/npm/d3@7/+esm";
// Declare the chart dimensions and margins.
const width = 640;
const height = 400;
const marginTop = 20;
const marginRight = 20;
const marginBottom = 30;
const marginLeft = 40;
// Declare the x (horizontal position) scale.
const x = d3.scaleLog()
.domain([0.2, 60])
.range([marginLeft, width - marginRight]);
// Declare the y (vertical position) scale.
const y = d3.scaleLog()
.domain([0.1, 100])
.range([height - marginBottom, marginTop]);
// Create the SVG container.
const svg = d3.create("svg")
.attr("width", width)
.attr("height", height);
// Add the x-axis.
svg.append("g")
.attr("transform", `translate(0,${height - marginBottom})`)
.call(d3.axisBottom(x));
// Add the y-axis.
svg.append("g")
.attr("transform", `translate(${marginLeft},0)`)
.call(d3.axisLeft(y));
// Append the SVG element.
container.append(svg.node());
</script>
</body>
</html>
Нужно в аппликашку вставить gnuplot. Нашёл WebAssembly, а вот альтернативы не нашёл. Или всё равно придётся гонять по отдельности своё изобретение и gnuplot.
Я так понимаю, что код написанный на одной версии не будет работать на другой.
openjdk-11-jdk-headless # version 11.0.20.1+1-0ubuntu1~22.04, or
default-jdk # version 2:1.11-72build2
openjdk-17-jdk-headless # version 17.0.8.1+1~us1-0ubuntu1~22.04
openjdk-18-jdk-headless # version 18.0.2+9-2~22.04
openjdk-19-jdk-headless # version 19.0.2+7-0ubuntu3~22.04
openjdk-8-jdk-headless # version 8u382-ga-1~22.04.1
ecj # version 3.16.0-1
Есть ли библиотеки на Common Lisp c функциями Бесселя?
Существует номограмма в координатах, мне надо написать уравнение этой кривой. Кто-нибудь решал такие задачи?
Существует патент 2011613354 Российская Федерация. Свидетельство о государственной регистрации программы для ЭВМ «Расчёт режимов дуговой сварки» М.А. Иванов, А.М. Уланов номер 2011611511 заявл. 9.03.11; зарегестрировано 28.04.11.
Эта программа не удовлетворяет потребностей, нужно написать другую програмку по этой же теме. Как делать, чтобы не нарушить патента?
Можно ли сделать закладки в pdf файле, находящимся на флешке, так чтобы эти закладки работали на разных компьютерах с системой Linux.
https://shop.mntre.com/products/mnt-reform
Перемещено hobbit из talks
Как этот файл можно перевести в dxf боле менее автоматом.
Команда make вызывает такую ошибку
libtool: link: g++ -g -O2 -fopenmp -o .libs/netgen demoview.o ngappinit.o onetcl.o parallelfunc.o ngpkg.o -Wl,--export-dynamic ../libsrc/visualization/.libs/libvisual.a ../libsrc/csg/.libs/libcsgvis.so ../libsrc/csg/.libs/libcsg.so ../libsrc/interface/.libs/libinterface.so ../libsrc/meshing/.libs/libmesh.so -L/usr/lib/Togl1.7 -lTogl -lGLU -L/usr/lib/x86_64-linux-gnu -ltk8.6 -ltcl8.6 -lGL -lXmu -lX11 -fopenmp -Wl,-rpath -Wl,/opt/netgen/lib
/usr/bin/ld: cannot find -lXmu: No such file or directory
collect2: error: ld returned 1 exit status
Как можно проверить код, во время написания, на такую ошибку. Ну, и что делать, чтобы обрулить эту ошибку.
| ← предыдущие | следующие → |