【问题标题】:Having Bower devdependencies inserted in HTML with Grunt使用 Grunt 在 HTML 中插入 Bower 开发依赖项
【发布时间】:2014-09-22 19:52:42
【问题描述】:

我通过 Yeoman 脚手架安装了 AngularJS。当我跑步时

grunt bower 安装

它在 HTML 中仅反映“依赖项”部分下 bower.json 中的依赖项。 我怎样才能让它包含“devDependencies”部分下的deps?

【问题讨论】:

标签: gruntjs bower yeoman-generator-angular


【解决方案1】:

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

bower install

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

【讨论】:

  • 是的,它们已正确安装,但不会自动包含在 HTML 中
【解决方案2】:

如 Angular 更改日志中所述,bower-install 在版本 9.0.0 see here 中已弃用,现在 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

咕噜有线ep:dev

【讨论】:

    【解决方案3】:

    显然我需要 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'
        ]);
      });
    

    【讨论】:

      猜你喜欢
      • 2014-10-26
      • 2013-06-23
      • 2015-08-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多