Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js grunt contrib requirejs任务停止grunt而不出错_Node.js_Requirejs_Gruntjs_R.js_Grunt Contrib Requirejs - Fatal编程技术网

Node.js grunt contrib requirejs任务停止grunt而不出错

Node.js grunt contrib requirejs任务停止grunt而不出错,node.js,requirejs,gruntjs,r.js,grunt-contrib-requirejs,Node.js,Requirejs,Gruntjs,R.js,Grunt Contrib Requirejs,我有一个问题,我的grunt contrib requirejs任务会停止我的grunt进程。它这样做完全没有错误。我需要帮助确定问题 我的总体任务 grunt.registerTask('build', [ 'clean:dist', 'jshint', 'handlebars', 'requirejs', 'concat:dist', 'uglify', 'compass', 'imagemin', 'cssmin',

我有一个问题,我的
grunt contrib requirejs
任务会停止我的grunt进程。它这样做完全没有错误。我需要帮助确定问题

我的总体任务

grunt.registerTask('build', [
    'clean:dist',
    'jshint',
    'handlebars',
    'requirejs',
    'concat:dist',
    'uglify',
    'compass',
    'imagemin',
    'cssmin',
    'copy'
]);
这是我的任务配置

requirejs: {
    dist: {
        options: {
            baseUrl: 'app',
            optimize: 'none',
            optimizeCss: 'none', // We use cssmin for this
            preserveLicenseComments: true,
            dir: 'dist/',

            useStrict: true,
            wrap: false,
            findNestedDependencies: true,

            //If set to true, any files that were combined into a build bundle will be
            //removed from the output folder.
            removeCombined: true,

            paths: {
                aura: '<%= settings.bower %>/aura/lib/aura',
                underscore: '<%= settings.bower %>/underscore/underscore',
                eventemitter: '<%= settings.bower %>/eventemitter2/lib/eventemitter2',
                backbone: '<%= settings.bower %>/backbone/backbone',
                handlebars: '<%= settings.bower %>/handlebars/handlebars',
                text: '<%= settings.bower %>/requirejs-text/text',
                jquery: '<%= settings.bower %>/jquery/jquery'
            },

            shim: {
                backbone: {
                    exports: 'Backbone',
                    deps: ['underscore', 'jquery']
                },
                underscore: {
                    exports: '_'
                },
                handlebars: {
                    exports: 'Handlebars'
                }
            },

            modules: [{
                name: "app",
                include: ["aura","jquery"]
            }],

            onBuildWrite: function( name, path, contents ) {
                grunt.log.writeln( 'Writing: ' + name );
                return contents
            },

            done: function(done, output) {
                var duplicates = require('rjs-build-analysis').duplicates(output);

                if (duplicates.length > 0) {
                    grunt.log.subhead('Duplicates found in requirejs build:');
                    grunt.log.warn(duplicates);
                    done(new Error('r.js built duplicate modules, please check the excludes option.'));
                }

                grunt.log.writeln('All done');

                done();
            }

        }
    }
}
从这个输出来看,似乎没有定义done函数,但我确实定义了它,我甚至使用了来自的一个示例

我正在使用
grunt@0.4.1
grunt contrib-requirejs@0.4.1
requirejs@2.1.8
。节点是版本
v0.8.16

更新一 我尝试升级我的节点,现在是
v0.10.17
,但这里没有任何更改

我从我的模块include中删除了
aura
,现在看起来是这样的:

modules: [{
    name: "app",
    include: ["jquery"]
}],
这给了我更多的输入,但它仍然停止我的咕噜声,并且不运行我的done函数,我得到以下输出:

Running "requirejs" task

Running "requirejs:dist" (requirejs) task
Verifying property requirejs.dist exists in config...OK
File: [no files]
Options: logLevel=0, done=undefined, baseUrl="app", optimize="none", optimizeCss="none", preserveLicenseComments, dir="dist/", useStrict, wrap=false, findNestedDependencies, removeCombined, paths={"aura":"bower_components/aura/lib/aura","underscore":
"bower_components/underscore/underscore","eventemitter":"bower_components/eventemitter2/lib/eventemitter2","backbone":"bower_components/backbone/backbone","handlebars":"bower_components/handlebars/handlebars","text":"bower_components/requirejs-text/t
ext","jquery":"bower_components/jquery/jquery"}, shim={"backbone":{"exports":"Backbone","deps":["underscore","jquery"]},"underscore":{"exports":"_"},"handlebars":{"exports":"Handlebars"}}, modules=[{"name":"app","include":["aura","jquery"]}], onBuild
Write=undefined
>> Tracing dependencies for: app
>> app.js
>> ----------------
>> bower_components/aura/lib/platform.js
>> bower_components/aura/lib/base.js
>> bower_components/aura/lib/logger.js
>> bower_components/aura/lib/aura.extensions.js
>> bower_components/aura/lib/aura.js
>> app.js

我发现我的问题是GitHub上的一个问题:


但目前还没有解决方案,我可能不得不亲自查看错误。

我在GitHub上发现了问题,如下所示:


但是目前还没有解决方案,我可能不得不亲自查看错误。

如果从requireJS选项中删除整个“完成”部分,它不会停止任务列表的执行,但是如果从requireJS选项中删除整个“完成”部分,您将失去对编译代码执行分析的能力,它不会停止任务列表的执行,但是您将失去对已编译代码执行分析的能力。问题是,
done
函数失败,并且grunt任务未设置为将错误转发给您。我做了一次尝试来解决这个问题。

问题是您的
done
功能失败,并且没有设置grunt任务来将错误转发给您。我做了一次尝试来解决问题。

我会尝试两件事来找出问题所在:1。在我看来,你的基本url设置错误。它应该是“app/”2。试着把requirejs的选项略过到一个基本的最低限度,看看它是否仍然没有运行。我猜目前它只能定位应用程序的依赖项。尝试这些方法,我们将看到还能做些什么。我尝试了这两种方法,但没有成功-仍然是相同的输出。我从include中删除了
aura
,它现在似乎工作了,至少找到了依赖项,但之后它停止了我的呼噜声,并且不运行我的done函数。我尝试了两种方法,试图找到问题所在:1。在我看来,你的基本url设置错误。它应该是“app/”2。试着把requirejs的选项略过到一个基本的最低限度,看看它是否仍然没有运行。我猜目前它只能定位应用程序的依赖项。尝试这些方法,我们将看到还能做些什么我尝试了这两种方法,但没有成功-仍然是相同的输出。我从我的include中删除了
aura
,它现在似乎可以工作了,至少找到了依赖项,但之后它停止了我的咕噜声,不再运行我的done函数。这就是我所做的,但通过解决方案,我希望它能够工作,而不仅仅是移除它。它仍然不起作用,我还没有时间去看它。这就是我所做的,但通过解决方案,我希望它能起作用,而不仅仅是移除它。它仍然不起作用,我还没有时间去看它。