gulp压缩打包后,发现好像并没有减少http请求

gulp压缩打包后,发现好像并没有减少http请求

task代码

gulp.task('minifyjs', function() {
    return gulp.src('public/js/views/*.js')
        .pipe($.requirejsOptimize({
            baseUrl: "./public/js",
            insertRequire: ['app'],
            mainConfigFile: "./public/js/require-config.js",
            preserveLicenseComments: false,
            useStrict: true,
            include: ["./lib/requirejs/require.js"]
        }))
        .pipe(concat('main.js'))
        .pipe(rename({ suffix: '.min' }))
        .pipe(uglify())
        .pipe(gulp.dest('public/js/dist'));
});

页面上代码

<script src="js/lib/requirejs/require.js" data-main="js/dist/main.min"></script>

但发现http请求数量还是很多个,用gulp-concat进行了合并,但仍然提示会去请求合并中的每一个问题件,为什么?

GET /dist/main.min.css 200 7.085 ms - 580287
GET /js/lib/requirejs/require.js 200 12.888 ms - 86328
GET /js/dist/main.min.js 304 1.188 ms - -
GET /js/dist/.js 304 2.777 ms - -
GET /js/dist/.js 304 0.724 ms - -
GET /js/dist/.js 304 1.423 ms - -
GET /js/lib/.js 304 1.470 ms - -
GET /js/lib/.js 304 0.662 ms - -
GET /js/lib/.js 304 2.718 ms - -
GET /js/common/.js 304 2.200 ms - -
GET /js/lib/.js 304 0.922 ms - -
GET /js/lib/.js 304 0.946 ms - -
GET /js/dist/.js 304 1.142 ms - -
GET /js/dist/.js 304 0.937 ms - -
GET /js/dist/.js 304 0.856 ms - -
GET /js/dist/.js 304 0.738 ms - -
GET /js/dist/.js 304 0.609 ms - -
GET /js/dist/.js 304 1.241 ms - -
GET /js/dist/.js 304 1.271 ms - -
GET /js/dist/.js 304 0.950 ms - -
GET /js/templates/.html 304 0.666 ms - -
GET /js/common/.js 304 1.036 ms - -
GET /js/templates/.html 304 0.552 ms - -
GET /js/templates/.html 304 0.575 ms - -
GET /js/templates/.html 304 0.501 ms - -
GET /js/templates/.html 304 0.720 ms - -
GET /js/templates/.html 304 0.619 ms - -
GET /js/templates/.html 304 3.354 ms - -
GET /js/lib/.js 304 0.659 ms - -
GET /js/lib/.js 304 1.073 ms - -
GET /js/.html 304 1.091 ms - -
GET /js/.js 304 0.835 ms - -
GET /js/.js 304 0.847 ms - -
GET /js/.js 304 0.565 ms - -
GET /js/.js 304 0.623 ms - -
GET /js/.html 304 0.780 ms - -
阅读 2.8k
3 个回答

用r.js之类的做优化。
主要配置没问题的话应该是能减少http请求的。贴个亲测有效的代码。
仔细看,上面代码明显有问题。

gulp.task('minifyjs', function() {
    return gulp.src('public/js/views/app.js')
        .pipe($.requirejsOptimize({
            baseUrl: "./public/js/views",
            insertRequire: ['app'],
            mainConfigFile: "./public/js/views/require-config.js",
            preserveLicenseComments: false,
            useStrict: true,
            include: ["../lib/requirejs/require.js"]
        }))
        .pipe(gulp.dest('public/dist/js'));
});

应该是你的代码里面有很多的require,每一个都会被requirejs包装成一个请求,但是除了第一个以外,剩下的都是直接读缓存了
可以尝试减少代码中require的次数来减少这个

页面加载那里应该修改成加载打包后的JS啊。。不然IO次数当然没区别。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进