2015-02-08 42 views
0

我正在使用grunt-cdnify作为CDN我的网络资产。在REMADME.md文件中,我正在使用下面的配置。使用grunt-cdnify时出现错误

cdnify: { 
    makeItAws: { 
    options: { 
     base: 'http://my.cdn.com/' 
    }, 
    files: [{ 
     expand: true, 
     cwd: '<%= app.dist %>', 
     src: '**/*.{css,html,js}', 
     dest: '<%= app.dist %>' 
    }] 
    } 
}, 

我咕噜任务寄存器

grunt.registerTask('build', [ 
'clean:dist', 
'wiredep', 
'useminPrepare', 
'concurrent:dist', 
'autoprefixer', 
'concat', 
'ngAnnotate', 
'copy:dist', 
'cdnify', 
'cssmin', 
'uglify', 
'filerev', 
'usemin', 
'htmlmin', 
'cdnify' 
]); 

我收到此错误以下

Anjums-MacBook-Pro:project anjum$ grunt cdnify 
Running "cdnify:makeItAws" (cdnify) task 

Warning: An error occurred while processing a template 
(Cannot read property 'dist' of undefined). Use --force to continue. 

Aborted due to warnings. 


Execution Time (2015-02-08 08:42:51 UTC) 
loading tasks  3ms ▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇ 33% 
cdnify:makeItAws 5ms ▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇ 56% 
Total 9ms 

任何想法,我错了?请指导我。谢谢

+0

的cdnify任务是重写你的HTML和CSS发现静态资源的URL。一旦请检查您应用中的所有网址(CDN),看看它们是否指向正确的地址? – Rajeshwar 2015-02-08 10:44:26

+0

'grunt.registerTask('build',...)'注册一个名为'build'的任务,该任务应该使用'grunt build'运行。你注册了一个名为grunt.registerTask('cdnify',...)的任务吗? – 2015-05-26 19:05:02

回答

1

这不是cdnify的问题,这是因为你的配置变量“app”是未定义的。请确保您在您的gruntfile的配置部分正确定义的应用程序,例如:

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

    app: { 
     dist: 'dist' 
    }, 
    etc... 
0

或许有些任务是缺少本地NPM包,请尝试

npm install 

从您package.json安装的软件包文件,然后尝试再次grunt cdnify

0

要运行的任务,因为grunt cdnify必须注册cdnify咕噜的任务,因为

grunt.registerTask('cdnify', [ 
    'cdnify' 
]); 

Gruntfile.js