Gruntjs 使用Grunt在HTML中插入Bower依赖项

Gruntjs 使用Grunt在HTML中插入Bower依赖项,gruntjs,bower,yeoman-generator-angular,Gruntjs,Bower,Yeoman Generator Angular,我通过约曼脚手架安装了AngularJS。当我跑的时候 grunt-bower安装 它在HTML中只反射“dependencies”部分下的bower.json中的依赖项。 如何将DEP包含在“devDependencies”部分中?如果您正确地构建了Yeoman生成器(检查日志中的错误),那么应该已经安装了所有依赖项,包括“devDependencies”部分中列出的依赖项。如果失败,请删除整个bower\u组件文件夹,确保bower.json中没有语法错误,然后运行 bower instal

我通过约曼脚手架安装了AngularJS。当我跑的时候

grunt-bower安装

它在HTML中只反射“dependencies”部分下的bower.json中的依赖项。
如何将DEP包含在“devDependencies”部分中?

如果您正确地构建了Yeoman生成器(检查日志中的错误),那么应该已经安装了所有依赖项,包括“devDependencies”部分中列出的依赖项。如果失败,请删除整个
bower\u组件
文件夹,确保
bower.json中没有语法错误,然后运行

bower install

在您的根目录中。这将安装所有内容。

如Angular changelog中所述,bower install在9.0.0版中已被弃用,现在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\//
  }
},
wiredep:{
选项:{
cwd:'
},
开发人员:{
devDependencies:是的,
src:['/index.html'],
忽略路径:/\.\\//
},
应用程序:{
src:['/index.html'],
忽略路径:/\.\\//
},
sass:{
src:['/styles/{,*/}*{scss,sass}'],
ignorePath:/(\.\.\/){1,2}bower\u组件\//
}
},
现在使用安装devdependency

grunt wiredep:dev


显然,我需要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'
    ]);
  });
grunt.registerTask('service','Compile然后启动连接web服务器',函数(目标){
...
grunt.task.run([
“清理:服务器”,

“wiredep:dev”,可能是你需要知道的所有内容的副本,还有更多内容[here][1]。[1]:我在询问之前看过这篇文章,它没有解释如何让Grunt在开发应用程序时安装deps是的,它们安装正确,但不会自动包含在HTML中