首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >grunt-usemin src文件为空

grunt-usemin src文件为空
EN

Stack Overflow用户
提问于 2015-07-21 19:45:17
回答 1查看 768关注 0票数 2

我试着在我的项目中使用grunt usemin来缩小JS和CSS文件,但是效果不好。所以我创建了一个简单的例子,就像grunt-usemin文档中的例子一样,它也不起作用。

我有一个简单的结构:

代码语言:javascript
复制
.
├── Gruntfile.js
├── dist
│   └── js
├── index.html
├── js
│   ├── bar.js
│   └── foo.js
└── package.json

在index.html中,我有以下关于2个JS文件的代码块:

代码语言:javascript
复制
<!-- build:js js/optimized.js -->
<script src="/js/foo.js"></script>
<script src="/js/bar.js"></script>
<!-- endbuild -->

我的Gruntfile.js:

代码语言:javascript
复制
module.exports = function(grunt) {
// Project configuration.
  grunt.initConfig({
    pkg: grunt.file.readJSON('package.json'),
    useminPrepare: {
        html: 'index.html',
        options: {
          dest: 'dist'
        }
    },
    usemin: {
        html: ['index.html']
    },
    filerev: {
      options: {
        algorithm: 'md5',
        length: 8
      },
      js: {
        src: 'js/optimized.js',
        dest: 'js/'
      }
    }
  });

  grunt.loadNpmTasks('grunt-contrib-uglify');
  grunt.loadNpmTasks('grunt-contrib-cssmin');
  grunt.loadNpmTasks('grunt-contrib-concat');
  grunt.loadNpmTasks('grunt-filerev');
  grunt.loadNpmTasks('grunt-usemin');

  // Register tasks
  grunt.registerTask('deploy', ['useminPrepare', 'uglify:generated']);
// grunt.registerTask('deploy', ['useminPrepare', 'uglify:generated', 'usemin']);

};

当我运行grunt deploy -v时,我希望会创建js/optimized.js。但是我得到了这个错误:

代码语言:javascript
复制
>> Destination dist/js/optimized.js not written because src files were empty.
>> No files created.

useminPrepare生成的任务如下所示:

代码语言:javascript
复制
Going through index.html to update the config
Looking for build script HTML comment blocks

Configuration is now:

  concat:
  { generated: 
   { files: 
      [ { dest: '.tmp/concat/js/optimized.js',
          src: [ 'js/foo.js', 'js/bar.js' ] } ] } }

  uglify:
  { generated: 
   { files: 
      [ { dest: 'dist/js/optimized.js',
          src: [ '.tmp/concat/js/optimized.js' ] } ] } }

有没有人能帮帮我,为什么没有创建dist/js/optimized.js?

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2015-07-21 22:45:25

嗯,问题出在grunt.registerTask('deploy', ['useminPrepare', 'uglify:generated']);。我忘了调用concat:generated。

因此,解决方案是:

代码语言:javascript
复制
grunt.registerTask('deploy', ['useminPrepare', 'concat:generated', 'uglify:generated']);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31538162

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档