2

私が書いた他のすべてのノードプロジェクトとは異なり、これはノードサーバーのフォルダーがルートではない必要があります。現在のフォルダ階層は次のとおりです。

- Root/
  - build/
  - css/
  - im/
  - js/
  - nodeserver/   <-- gruntfile and package are here

GruntFile.jspackage.json、およびserver.jsはすべて次の場所にあります。nodeserver/

ここに私のGruntFileがあります:

module.exports = function(grunt) {

    // Project configuration.
    grunt.initConfig({
        pkg: grunt.file.readJSON('package.json'),
        uglify: {
            files: {
                '../build/all.min.js':['../js/config.js']
            },
            options: {
                banner: '/*! <%= pkg.name %> <%= grunt.template.today("yyyy-mm-dd") %> */\n',
                report: true
            }
        }
    });

    // Load the plugin that provides the "uglify" task.
    grunt.loadNpmTasks('grunt-contrib-uglify');

    // Default task(s).
    grunt.registerTask('default', ['uglify']);

};

grunt を実行すると、指定したファイルが見つかりません。これは応答です:

Running "uglify:files" (uglify) task
------------------------------------
Verifying property uglify.files exists in config...OK
File: [no files]
Options: banner="/*! demo-webservice 2014-03-28 */\n", footer="", compress={"warnings":false}, mangle={}, beautify=false, report

js ファイルが表示されないのはなぜですか?

4

1 に答える 1

0

ラッピングfiles: {}することでmy_target: {}問題が解決しました。

grunt.initConfig({
    pkg: grunt.file.readJSON('package.json'),
    uglify: {
        my_target: {
            files: {
                '../build/all.min.js':['../js/config.js']
            }
        },
        options: {
            banner: '/*! <%= pkg.name %> <%= grunt.template.today("yyyy-mm-dd") %> */\n',
            report: true
        }
    }
});

^--- その initConfig の新しいバージョン。

また、それmy_targetは何でもかまいません。これは、提供されている唯一の uglify プロファイルであるため、デフォルトで使用されます。複数のプロファイル、つまり「test: {}、prod: {}、etc: {}」を指定した場合は、タスクの後に次のように参照します: uglify:test, uglify:prod,uglify:etc

于 2014-03-31T16:09:44.827 に答える