начато
здесь
Задача:
на примере склейки двух файлов заюзать grunt под виндой портативно с относительно произвольным расположением файла Gruntfile.js
вариант структуры каталогов:
test_project
- dist
-- test.js появится здесь
- src
-- test1.js
-- test2.js
- сtr
-- grunt
--- env
---- nodejs
----- node_modules
----- node.exe
----- npm.cmd
--- node_modules
---- .bin
----- grunt.cmd
---- grunt
---- grunt-cli
---- grunt-contrib-concat
--- Gruntfile.js
--- package.json
package.json:
{
"name": "test_project",
"version": "0.1.0",
"devDependencies": {
"grunt": "^1.0.1",
"grunt-cli": "^1.2.0",
"grunt-contrib-concat": "^1.0.1"
}
}
Grunfile.js:
module.exports = function (grunt) {
grunt.initConfig({
concat: {
test_target: {
//пути отсчитываем от расположения Gruntfile.js
src: ['../../src/test1.js', '../../src/test2.js'],
dest: '../../dist/test.js',
},
},
});
grunt.loadNpmTasks("grunt-contrib-concat");
grunt.registerTask("default", ["concat"]);
};
вариант решения:
- каталог с node.exe в path
test_project\ctr\grunt>set path=%cd%;%path%
- в Grunfile.js пути отсчитываем от его расположения
- чтобы запускать grunt.cmd не только из каталога .bin, добавляем путь к нему в path
test_project\ctr\grunt\node_modules\.bin>set path=%cd%;%path%
итого:
test_project\ctr\grunt>grunt