Gruntfile的输出是public/assets/app.js
中的空文件。 Sass-part工作正常,但JS-part没有。
//Gruntfile
module.exports = function(grunt) {
//Initializing the configuration object
grunt.initConfig({
// Task configuration
sass: {
dist: {
options: {
style: 'compressed'
},
files: {
'./public/assets/app.css': './app/assets/scss/style.scss'
},
noCache: true
}
},
concat: {
options: {
separator: ';',
},
dist: {
src: [
'./app/bower/jquery/jquery.js',
'./app/assets/js/script.js'
],
dest: './public/assets/app.js',
},
},
uglify: {
options: {
mangle: false
},
dist: {
files: {
'./public/assets/app.js': './public/assets/app.js',
}
},
},
jshint: {
all: ['Gruntfile.js', './public/assets/app.js']
},
watch: {
js: {
files: [
'./app/assets/bower/*.js',
'./app/assets/js/*.js'
],
tasks: ['jshint', 'concat', 'uglify'],
options: {
livereload: false
}
},
sass: {
files: ['./app/assets/scss/*.scss'],
tasks: ['sass'],
options: {
livereload: false
}
}
}
});
// Plugin loading
grunt.loadNpmTasks('grunt-contrib-concat');
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.loadNpmTasks('grunt-contrib-sass');
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-contrib-jshint');
// Task definition
grunt.registerTask('default', ['sass', 'jshint', 'concat', 'uglify', 'watch']);
};
但我无法找出问题所在。甚至JShint也没有显示错误。 结构如下所示:https://www.dropbox.com/s/y0t2tu0asotz0ex/Screenshot%202013-12-20%2020.49.54.png
答案 0 :(得分:7)
再看看你的Gruntfile
和目录结构,我认为你的文件夹指定不正确,你将源指定为./app/...
,但是如果你的Gruntfile在那个目录中({{1}然后你必须从那里运行你的grunt任务,这意味着它将寻找app
(因为它相对于当前目录)。试试这个:
app/app/...
答案 1 :(得分:0)
我的解决方案是设置正确的文件路径:Scripts/libs/Timer.js
- 正确,/Scripts/libs/Timer.js
- 空文件
脚本是我项目的一个文件夹。
Project/Scripts/libs/Timer.js
- 完整路径。
当我设置这条路径:
Scripts/libs/Timer.js
- 当/Scripts/libs/Timer.js
- 文件为空时,文件不为空。
concat: {
options:{
// define a string to put between each file in the concatenated output
separator: '\n;'
},
own_scripts: {
//project-files
src: [
"Scripts/application/app.js",
"Scripts/application/Controllers/*.js",
"Scripts/application/Directives/*.js",
"Scripts/application/Filters/*.js",
"Scripts/application/Services/*.js"
],
dest: 'dist/scripts-concat.js'
}
也许你应该这样做:
dist: {
src: [
'app/bower/jquery/jquery.js',
'app/assets/js/script.js'
],
dest: 'public/assets/app.js',
},