Как да използвам Almond в RequireJS за генериране на един единствен файл?

Имам проект с RequireJS.

Моят app.build с изискване:

({
    appDir: './',
    baseUrl: "js",
    dir: "dist",
    mainConfigFile: "js/main.js",
    modules: [ { name: 'main' } ],
    optimizeCss: 'standard',
    removeCombined: true,
    preserveLicenseComments: false,
    optimize: "uglify",
    uglify: {
        max_line_length: 1000,
        compress: {
            cascade: true,
            drop_console: true,
            keep_fargs: true
        },
        defines: {
            DEBUG: ['name', 'false']
        },
        no_mangle: true
    },
    closure: {
        CompilerOptions: {},
        CompilationLevel: 'SIMPLE_OPTIMIZATIONS',
        loggingLevel: 'WARNING'
    }
})

След компилирането имам три js файла - require.js, main.js, domReady.js Опитвам се да получа един файл чрез Almond, добавих някои параметри:

({
            appDir: './',
            baseUrl: "js",
            modules: [
                {
                    name: '../lib/almond/almond'
                },
                {
                    name: 'main'
                }
            ],
            include: ['main'],
            insertRequire: ['main'],
            wrap: true,
            dir: "dist",
            mainConfigFile: "js/main.js",
            optimizeCss: 'standard',
            removeCombined: true,
            preserveLicenseComments: false,
            optimize: "uglify",
            uglify: {
                ...
            },
            closure: {
                ...
            }
})

Но накрая пак имам три файла... Благодаря предварително!


person COSTADOR    schedule 12.03.2015    source източник


Отговори (1)


Решението е:

({
    appDir: './',
    baseUrl: "js",
    dir: "dist",
    mainConfigFile: "js/main.js",
    findNestedDependencies: true,
    name: 'main',
    include: ['../lib/almond/almond'],
    insertRequire: ['main'],
    optimizeCss: 'standard',
    removeCombined: true,
    preserveLicenseComments: false,
    optimize: "uglify",
    uglify: {
...
    },
    closure: {
...
    }
})

след компилиране имам един файл... След това чрез GULP променям кода в моя index.html

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

to

<script src="js/main.js"></script>
person COSTADOR    schedule 12.03.2015
comment
как променяте индексния файл с gulp? - person Iain Duncan; 15.05.2015
comment
Маркирам код като този '‹!-- build:js --› ‹script src=lib/requirejs/require.js data-main=js/main.js›‹/script› ‹!-- endbuild --›' и след това променете чрез gulp-html-replace - person COSTADOR; 24.06.2015