这是我的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/

10-13 01:20