使用Grunt将Bower devdependencies插入HTML中

时间:2014-07-31 00:46:58

标签: gruntjs bower yeoman-generator-angular

我通过Yeoman脚手架安装了AngularJS。我跑的时候

  

grunt bower-install

它只在HTML中反映了"依赖关系"下的bower.json中的依赖关系。部分。 我怎样才能把它包含在" devDependencies"下的deps中。部?

3 个答案:

答案 0 :(得分:3)

如Angular changelog中所述,版本9.0.0 see here中不推荐使用bower-install,现在不推荐使用bower-install任务,应将其替换为wiredep。 使用以下命令编辑Gruntfile.js文件:

wiredep: {
  options: {
    cwd: '<%= yeoman.app %>'
  },
  dev: {
    devDependencies: true,
    src: ['<%= yeoman.app %>/index.html'],
    ignorePath:  /\.\.\//
  },
  app: {
    src: ['<%= yeoman.app %>/index.html'],
    ignorePath:  /\.\.\//
  },
  sass: {
    src: ['<%= yeoman.app %>/styles/{,*/}*.{scss,sass}'],
    ignorePath: /(\.\.\/){1,2}bower_components\//
  }
},

现在用

安装DevDependencies
  

grunt wiredep:dev

答案 1 :(得分:2)

显然我需要50个声誉来评论接受的答案,所以我必须在这里添加,对于未来遇到这个帖子的人来说,接受的答案中的变化对我有用但我不得不另外改变另一行在gruntfile.js中

grunt.registerTask('serve', 'Compile then start a connect web server', function (target) {
    ...

    grunt.task.run([
      'clean:server',
      'wiredep:dev', <-- Changed this from plain 'wiredep'
      'concurrent:server',
      'autoprefixer',
      'connect:livereload',
      'watch'
    ]);
  });

答案 2 :(得分:0)

如果您正确构建了Yeoman生成器(检查日志中的错误),则应该已经安装了所有依赖项,包括&#34; devDependencies&#34;中列出的依赖项。如果不这样做,请删除整个bower_components文件夹,确保bower.json中没有语法错误,只需运行

bower install

在根目录中。这将安装一切。