这是我的curreny文件夹结构:
| -src | -dist | -gulpjs.js
如here-中的建议,在gulpjs文件中,我分别为移动设备和桌面设备创建了两个任务
gulp.task('mobile', function () {
return ngrok.connect(4000, function (err, url) {
psi(url, {
nokey: 'true',
strategy: 'mobile',
}).then(function (data) {
console.log('Speed score: ' + data.ruleGroups.SPEED.score);
console.log('Usability score: ' + data.ruleGroups.USABILITY.score);
});
});
});
gulp.task('desktop', function () {
return ngrok.connect(4000, function (err, url) {
psi(url, {
nokey: 'true',
strategy: 'desktop',
}).then(function (data) {
console.log('Speed score: ' + data.ruleGroups.SPEED.score);
});
});
});
当我运行gulp mobile或gulp桌面任务时,它确实为我提供了日志中的速度得分,但是我不确定是从src还是从dist文件夹生成了url。
是否有更好的方法来实现我想要的(我希望针对我的本地环境对pagespeed进行评分)?
最佳答案
您可以使用swank通过ngrok为dist文件夹提供服务:
// Serve dist folder
gulp.task('serve', function(cb){
swank({
watch: false,
path: 'dist',
log: false,
port: 4000
}).then(function(s){
console.log('Server running: '+s.url);
cb();
});
});
// PageSpeed task
gulp.task('psi-mobile', function() {
return ngrok.connect(4000, function (err_ngrok, url) {
console.log(('ngrok'), '- serving your site from', (url));
pageSpeed.output(url, {
strategy: ['mobile'],
threshold: 80
}, function (err_psi, data) {
if (err_psi) {
log(err_psi);
process.exit(1);
}
process.exit(0);
});
});
});
// Run PSI on tunnel URL
gulp.task('mobile', gulpSequence('serve', 'psi-mobile'));
关于javascript - 如何配置gulpjs,以便ngrok模块可用于为pagespeed Insight插件提供URL?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36094641/