如何使用“RequireJS”中的“杏仁”生成一个文件

How to use "Almond" in "RequireJS" to generate one single file?

本文关键字:一个 文件 RequireJS 何使用 中的 杏仁      更新时间:2023-09-26

我有一个关于RequireJS的项目。

我的应用程序构建需要:

({
    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我尝试通过杏仁获取单个文件,我添加了一些参数:

({
            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: {
                ...
            }
})

但最后我还有三个文件...提前感谢!

解决方案是:

({
    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 更改索引中的代码.html

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

<script src="js/main.js"></script>