Using Gulp to build requireJS project - gulp-requirejs

前端 未结 7 505
轮回少年
轮回少年 2020-12-12 20:05

I am trying to use gulp-requirejs to build a demo project. I expect result to be a single file with all js dependencies and template included. Here is my gulpfile.js

7条回答
  •  失恋的感觉
    2020-12-12 20:24

    My solution works like this:

    ./client/js/main.js:

    require.config({
        paths: {
            jquery: "../vendor/jquery/dist/jquery",
            ...
        },
        shim: {
            ...
        }
    });
    
    define(["jquery"], function($) {
        console.log($);
    });
    

    ./gulpfile.js:

    var gulp = require('gulp'),
        ....
        amdOptimize = require("amd-optimize"),
        concat = require('gulp-concat'),
        ...
    
    gulp.task('scripts', function(cb) {
    
        var js = gulp.src(path.scripts + '.js')
            .pipe(cached('scripts'))
            .pipe(jshint())
            .pipe(jshint.reporter('default'))
            .pipe(remember('scripts'))
            .pipe(amdOptimize("main",
                {
                    name: "main",
                    configFile: "./client/js/main.js",
                    baseUrl: './client/js'
                }
            ))
            .pipe(concat('main.js'));
    
            .pipe(gulp.dest(path.destScripts));
    }
    ...
    

    This part was important:

    configFile: "./client/js/main.js",
    baseUrl: './client/js'
    

    This allowed me to keep my configuration in one place. Otherwise I was having to duplicate my paths and shims into gulpfile.js.

提交回复
热议问题