Grunt 源文件相对路径
Grunt source file relative path
为什么必须删除源文件路径中的前导斜杠才能让 Grunt 正确定位文件? gruntfile 与包含 JS 文件的 "includes" 文件夹一起位于较旧的主项目中。
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 正在为这些文件搜索其他位置。删除斜杠,函数完美运行。
前导 /
表示它是一个 绝对 路径并且它正在寻找它,从根目录开始。如果没有它,它会从 Gruntfile.js
所在的位置搜索 relative 路径。
如果您希望路径与 Gruntfile
不同的文件夹相关,请参阅 grunt.file.setBase
或 --base
cli 选项。 More information here.
为什么必须删除源文件路径中的前导斜杠才能让 Grunt 正确定位文件? gruntfile 与包含 JS 文件的 "includes" 文件夹一起位于较旧的主项目中。
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 正在为这些文件搜索其他位置。删除斜杠,函数完美运行。
前导 /
表示它是一个 绝对 路径并且它正在寻找它,从根目录开始。如果没有它,它会从 Gruntfile.js
所在的位置搜索 relative 路径。
如果您希望路径与 Gruntfile
不同的文件夹相关,请参阅 grunt.file.setBase
或 --base
cli 选项。 More information here.