与我编写的所有其他节点项目不同,这个项目需要节点服务器的文件夹不是root用户。这是当前的文件夹层次结构:
- Root/
- build/
- css/
- im/
- js/
- nodeserver/ <-- gruntfile and package are here
GruntFile.js
,package.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文件?
答案 0 :(得分: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配置文件。如果我提供了多个配置文件,即&#34; test:{},prod:{}等等:{}&#34;,那么我会按照以下方式在任务之后引用它们:{{1 },uglify:test
,uglify:prod