Относительный путь к исходному файлу Grunt

Почему необходимо удалить косую черту в путях к исходным файлам, чтобы Grunt мог правильно найти файлы? Файл grunt находится в основном проекте старше вместе с папкой «includes», содержащей файлы JS.

module.exports = function(grunt) {

    var SiteMasterHeaderArray = [
        "/includes/js/knockout/knockout-3.4.0.js",
        "/includes/js/common/common.js" 
    ];

    grunt.initConfig({
        pkg: grunt.file.readJSON('package.json'),

        uglify: {
            dest: {
                files: {
                    'dest/SiteMasterHeader.js': SiteMasterHeaderArray
                }
            }
        }
    });

    grunt.loadNpmTasks('grunt-contrib-uglify');

    grunt.registerTask('default', ['uglify']);
};

Файл назначения не записывается, потому что (по крайней мере, мне так кажется), что Grunt ищет эти файлы в каком-то другом месте из-за «/» в пути к файлу. Уберите косую черту, и функция работает отлично.


person danparm    schedule 03.08.2016    source источник
comment
Если путь к файлу начинается с «/», это абсолютный путь. linuxnix.com/abslute-path-vs-relative-path -in-linuxunix   -  person Fahim Farook    schedule 03.08.2016
comment
Отлично, это объясняет. Спасибо!   -  person danparm    schedule 03.08.2016


Ответы (1)


Ведущий / означает, что это абсолютный путь, и он ищет его, начиная с корневого каталога. Без этого он ищет относительный путь от того места, где находится Gruntfile.js.

Если вы хотите, чтобы пути относились к папке, отличной от Gruntfile, см. параметр grunt.file.setBase или --base cli. Дополнительная информация здесь.

person Juan Ferreras    schedule 03.08.2016