Слишком много ответов, но вот решение без рекурсии, которое работает путем разделения пути, а затем слева направо, снова создает его обратно
function mkdirRecursiveSync(path) {
let paths = path.split(path.delimiter);
let fullPath = '';
paths.forEach((path) => {
if (fullPath === '') {
fullPath = path;
} else {
fullPath = fullPath + '/' + path;
}
if (!fs.existsSync(fullPath)) {
fs.mkdirSync(fullPath);
}
});
};
. Для тех, кто обеспокоен совместимостью Windows vs Linux, просто замените косую черту двойным обратным слэшем «\» в обоих случаях выше, но TBH мы говорим о командной строке node fs not windows, а первая довольно прощаем, а приведенный выше код будет просто работать на Windows и является более полным решением для кросс-платформы .
Добавить id в форму, которая присутствует в popup <form id="popup-form" method='POST' action='/spotForm'> </form>
Теперь добавьте всплывающее событие на карте
map.on('popupopen',function(e){
var latLng = e["popup"]._latlng;
var form = document.querySelector('#popup-form')
form['spotName'].value = latLng['lat'] + ', ' +latLng['lng'];
});
Попробуйте надеяться, что это поможет вам!
Это отлично работает! Но теперь нам нужно попасть в число. Ниже приведена наша схема, чтобы вернуть координаты с нашей карты буклетов.
//Schema
name: {
type: String,
required: true,
trim: true
},
properties:{
},
coordinates: [Number]
,
email: {
type: String,
unique: true,
required: true,
trim: true
},
Это код для возврата коордов при нажатии на нашу форму. Но он не возвращается как число, а возвращается как строка. Как мы можем сделать ввод числом в нашей форме ?. Мы пробовали несколько вещей, но никто не работал.
map.on('click', onMapClick);
L.control.layers(baseLayers, overlays).addTo(map);
map.on('popupopen', function (e) {
var latLng = e["popup"]._latlng;
var form = document.querySelector('#popupForm');
form['coordinates'].value = latLng['lat'] + ', ' + latLng['lng'];