'C:\Program Files\Microsoft VS Code\Code.exe'
вообще может быть любым, но по дефолту тут'/Applications/Visual Studio Code.app/Contents/Resources/app/bin/code'
which code
Vue.js, React или Angular?что знаете, то и берите...
Далее все это запихну в Express.express это про создание тормознутых веб-серверов, у электрона есть более эфективное апи для этого:
'ascii' - For 7-bit ASCII data only. This encoding is fast and will strip the high bit if set.
PATH="$PWD/node_modules/.bin:$PATH" postcss --params
{
"scripts": {
"postcss": "postcss --params"
}
}
npm run postcss
npx postcss --params
function parsePath(path) {
return path.split(',').reduce((acc, item) => {
const [key, value] = item.split('=');
switch(key) {
case 'name':
acc.name = value;
break;
case 'f':
case 'g':
acc[key].push(value);
break;
}
return acc;
}, {
name: '',
f: [],
g: []
});
}
function normalizeTree(tree) {
return Object.keys(tree).map(label => {
const item = tree[label];
if(item.id) { return item; }
const children = normalizeTree(item);
const id = `[${children.map(({id}) => id).join(',')}]`;
return {id, label, children};
});
}
function reduceToTree(data) {
return normalizeTree(data.reduce((acc, {path, id}) => {
const {name, f, g} = parsePath(path);
const target = f.reverse().concat(name).reduce((target, label) => {
return target[label] || (target[label] = {});
}, acc);
target.id = id;
target.label = name;
target.g = g;
return acc;
}, {}));
}
console.log(reduceToTree([
{
"path": "name=Tel6,g=tovarov,g=catalog",
"id": "6000",
"name": "Tel6"
},
{
"path": "name=Tel1,f=Samsung,g=tovarov,g=catalog", // f= неограниченная вложенность
"id": "1000",
"name": "Tel1"
},
{
"path": "name=Tel2,f=Samsung,g=tovarov,g=catalog", // f= неограниченная вложенность
"id": "2000",
"name": "Tel2"
},
{
"path": "name=Tel3,f=Galaxy,f=Samsung,g=tovarov,g=catalog", // f= неограниченная вложенность
"id": "3000",
"name": "Tel3"
},
{
"path": "name=Tel4,f=A,f=Samsung,g=tovarov,g=catalog", // f= неограниченная вложенность
"id": "4000",
"name": "Tel4"
},
{
"path": "name=Tel5,f=A,f=Samsung,g=tovarov,g=catalog", // f= неограниченная вложенность
"id": "5000",
"name": "Tel5"
}
// ...
]));
form = popup.getElementsByTagName('form')[0]
form = popup.querySelector('form')
form = document.getElementById('wpua-edit-13')
{
test: /\.css$/,
oneOf: [{
resourceQuery: /no-module/,
use: [{loader: 'style-loader'}, {loader: 'css-loader'}]
}, {
use: [{loader: 'style-loader'}, {loader: 'css-loader', options: {modules: true}}]
}]
}
{
test: /\.css$/,
oneOf: [{
resourceQuery: /module/,
use: [{loader: 'style-loader'}, {loader: 'css-loader', options: {modules: true}}]
}, {
use: [{loader: 'style-loader'}, {loader: 'css-loader'}]
}]
}
var express = require("express");
var app = express();
var server = require('http').createServer(app);
var io = require('socket.io').listen(server);
app.get('/bootstrap.min.css', (function() {
// на другой машине bootstrap может установится в другое место
// разрезолвим его путь средствами ноды и сохраним в замыкании
var cssFile = require.resolve('bootstrap/dist/css/bootstrap.min.css');
return function(req, res) {
res.sendFile(cssFile);
};
})());
app.get('/', function(request, response){
response.sendFile(__dirname + "/index.html");
});
server.listen(3000);
<link rel="stylesheet" href="/bootstrap.min.css">
function toggleMe() {
// я кажется начинаю понимать ОТ кого придумали typescript...
var a = 0; // если логика подразумевает логический тип, зачем init-значение число?
return function() {
if(a = true) { // это условие всегда будет истинно, независимо от a, в a сохраним значение true
a = false;
} else if (a = false) { // в принципе тоже что и выше, но еще этот код не достижим
a = true;
}
return a;
}
}
var a = toggleMe(); // в a извлекли функцию с замыканием
var b = a(); // в b будет false
console.log(b);
console.log(b); // а второй лог что-то меняет? нет
function toggleMe() {
var a = 0;
return function() {
if(a = true) {
a = false;
} else a = false /* удаляем недостижимый код if (a = false) {
a = true;
} */
return a;
}
}
function toggleMe() {
var a = 0;
return function() {
a = true
a = false;
/* этот if разворачивается однозначно
if(a = true) {
a = false;
} else a = false */
return a;
}
}
function toggleMe() {
var a = 0;
return function() {
return false;
/* незачем это вычислять каждый раз, все и так однозначно
a = true
a = false;
return a; */
}
}
// если вызвать этот код несколько раз:
var a = toggleMe();
var b = a();
console.log(b);
console.log(b);
// то оптимизатор в конце концов сократит его до
console.log(false);
console.log(false);
// а функцию выкинет совсем
function toggleMe() {
var a = false;
return function() {
return a = !a;
};
}
var b = toggleMe();
console.log(b());
console.log(b());