Да, вы могли бы. Вам просто нужно выполнить gulp taskname
при необходимости. Вам понадобится запрос ajax для скрипта, выполняющего команду gulp. FI, вы можете сделать рабочий пример с этим скелетом, используя nodejs и выразить:
gulpfile
gulp.task('minify' , function(){
console.log('gulp called!');
gulp.src('scripts/src/test.js')
.pipe(minify())
.pipe(gulp.dest('scripts/bin/'));
});
server.js
var express = require('express')
var app = express();
var exec = require('child_process').exec;
app.use(express.static('public'))
app.post('/send' , function(req , res){
console.log('this was called');
exec('gulp minify');
res.send('success!');
});
app.listen(3000, function() {
console.log('Example app listening on port 3000!');
});
общественности/index.html
<html>
<head>
</head>
<body>
<button onclick=send()>Execute gulp minify</button>
</body>
<script
src="https://code.jquery.com/jquery-3.1.1.min.js"
integrity="sha256-hVVnYaiADRTO2PzUGmuLJr8BLUSjGIZsDYGmIJLv2b8="
crossorigin="anonymous"></script>
<script>
function send(){
$.ajax({
url : 'http://localhost:3000/send',
method : 'POST',
success : function(res){
console.log(res);
},
error : function(response){
console.log('Error!');
console.log(response);
}
});
}
</script>
</html>
package.json
{
"name": "gulp-from-script",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC",
"dependencies": {
"express": "^4.14.0",
"gulp-uglify": "^2.0.0"
}
}
скрипты/SRC/test.js
function test(){
console.log('this file should be minified to bin/test.js on click');
//end.
}
С этого шаблонного, вы можете просто установить зависимости npm install
затем служат: node server.js
А затем перейти к localhost:3000/index.html
После нажатия на кнопку, откроется уменьшенная файл должен появиться под /scripts/bin/test.js
Конечно вам нужно nodejs и НПМ, установленные в вашей системе, чтобы получить эту работу. Это просто рабочий пример, демонстрирующий, как это сделать, это можно сделать с помощью любой другой технологии на стороне сервера, единственное, что нужно назвать задачей gulpfile с пост-контроллера на вашей стороне сервера.
Итак, это было бы полезно для всего?. Как заявляет Сандрана Перейра, gulp - это задача, предназначенная для создания front-end активов вашего проекта. Вы не должны вызывать его из сценария, запускаемого пользователем веб-приложения.
Однако вы можете настроить такую систему для создания локального веб-сайта или приложения под локальным хостом/для управления своими сборками или выполнения любой другой задачи на вашем компьютере с пользовательского интерфейса. Я не знаю, хорошая ли это идея, , но это, безусловно, выполнимо.
Задачи afaik gulp предназначены для управления проектом, а не для использования в самом приложении. Какую структуру/язык вы используете? –
Я думал использовать ** reactjs **. Как вы думаете ? – mstroiu