回答
是的,你可以。需要時您只需執行gulp taskname
。您需要對執行gulp命令的腳本執行ajax請求。 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 NPM來得到這個工作。只是一個演示如何做的實例,可以使用任何其他服務器端技術來完成,唯一的一點是從服務器端的後控制器調用gulpfile任務。
那麼,這會對任何事情有用嗎?。正如桑德里納佩雷拉所說,吞嚥是一個任務跑步者意味着建立您的項目的前端資產。您不應該從Web應用程序的用戶觸發的腳本中調用它。
但是,你可以建立這種系統的創建一個本地網站或應用在本地主機/來管理自己的作品,或者在你的機器執行其他任務,從UI。我不知道這是否僅僅是一個好的或可取的想法,但它肯定是可行的。
謝謝你的非常詳細的答案!我必須找到一個更好的解決方案來從窗體構建/生成靜態html。我正在** ** reactjs **,我認爲這是一個好的開始。再次感謝你。 – mstroiu
- 1. 從gulp任務運行npm腳本
- 2. 在CruiseControl.NET上運行gulp任務
- 3. gulp-imagemin任務運行出錯
- 4. 通過npm自動運行gulp任務
- 5. linting後可以運行gulp任務嗎?
- 6. 如何從dockerfile運行gulp任務
- 7. 在Codekit Hook中運行Gulp任務
- 8. 用循環運行Gulp任務
- 9. Gulp-browserSync任務只運行一次
- 10. gulp 4.0:運行系列任務
- 11. 完成其他任務後運行gulp任務
- 12. gulp多次執行任務
- 13. 使用gulp任務運行rails服務器和protrator
- 14. 如何在執行時運行gulp任務
- 15. Gulp任務順序 - 串行和並行
- 16. Gulp依賴任務
- 17. Gulp構建任務
- 18. 在運行Gulp任務時在插件'gulp-browserify'中獲取Js語法錯誤
- 19. Gulp投擲「解析文件時爲只讀」錯誤,同時運行Gulp任務
- 20. 當運行generator-gulp-webapp(含gulp-jade)的'build'任務時產生一個空index.html
- 21. Gulp任務正在無限循環中運行
- 22. 以編程方式運行Gulp 4任務
- 23. Gulp錯誤:ENOENT,lstat正在運行任務
- 24. 如何在Visual Studio代碼中運行gulp任務?
- 25. 沒有在彈性豆杆上運行的Gulp任務
- 26. gulp任務運行請求顯示日誌消息太晚
- 27. 在Gulp任務中多次運行手柄
- 28. 運行多個任務時,Gulp不起作用
- 29. 如何在終端中運行gulp任務
- 30. 如何在一個gulp任務中運行多個操作?
據我所知,一飲而盡任務意味着管理一個項目,而不是在應用程序本身使用。你使用什麼框架/語言? –
我正在考慮使用** reactjs **。你怎麼看 ? – mstroiu