Gruntjs 如何让Bower Install在将文件链接到html文件之前将其复制到另一个目录?

Gruntjs 如何让Bower Install在将文件链接到html文件之前将其复制到另一个目录?,gruntjs,bower-install,Gruntjs,Bower Install,在我的gruntfile.js中,我使用bower安装在我的index.html中为我的所有js库创建必要的脚本标记。我的grunt文件条目如下所示: bowerInstall: { target: { src: ['wwwroot/index.html'], cwd: '', dependencies: true, devDependencies: true, exclude: [],

在我的gruntfile.js中,我使用bower安装在我的index.html中为我的所有js库创建必要的脚本标记。我的grunt文件条目如下所示:

   bowerInstall: {
      target: {
        src: ['wwwroot/index.html'],
        cwd: '',
        dependencies: true,
        devDependencies: true,
        exclude: [],
        fileTypes: {},
        ignorePath: '',
        overrides: {}
      }
    }
bower: {
  dev: {
    dest: 'lib/',
    js_dest: 'lib/js',
    css_dest: 'lib/styles'
  }
}
My index.html从My index.html.tpl正确更新,如下所示:

<head>
<!-- bower:js -->
<script src="../bower_components/jquery/dist/jquery.js"></script>
<script src="../bower_components/angular/angular.js"></script>
<script src="../bower_components/bootstrap/dist/js/bootstrap.js"></script>
<script src="../bower_components/underscore/underscore.js"></script>
<!-- endbower -->
<!-- bower:css -->
<link rel="stylesheet" href="../bower_components/bootstrap/dist/css/bootstrap.css" />
<!-- endbower -->
<link rel="stylesheet" type="text/css" href="wwwroot/app/styles/style.css" />


我想要做的是将所有js库文件复制到一个特定的lib目录,然后从那里链接它们。这可以通过bower安装完成吗?或者我应该使用另一个grunt插件吗?bower安装插件似乎很流行,但我找不到太多相关文档。

在您的
bower.json
旁边添加一个
.bowerrc
文件。如果文件已在其中,请从以下位置更改其内容:

{
    "directory": "bower_components"
}

重新安装您的Bower组件:

bower install
然后调用Grunt任务:

grunt bowerInstall

在您的
bower.json
旁边添加一个
.bowerrc
文件。如果文件已在其中,请从以下位置更改其内容:

{
    "directory": "bower_components"
}

重新安装您的Bower组件:

bower install
然后调用Grunt任务:

grunt bowerInstall
您应该尝试与grunt bower安装一起使用。您可以将bower配置为将复制文件安装到特定文件夹。它将如下所示:

   bowerInstall: {
      target: {
        src: ['wwwroot/index.html'],
        cwd: '',
        dependencies: true,
        devDependencies: true,
        exclude: [],
        fileTypes: {},
        ignorePath: '',
        overrides: {}
      }
    }
bower: {
  dev: {
    dest: 'lib/',
    js_dest: 'lib/js',
    css_dest: 'lib/styles'
  }
}
然后,如果运行该任务:

grunt bower
您的
lib
文件夹中将有类似的内容:

  /js
    /package1
      package1_file1.js
      package1_file2.js
    /package2
      package2.js
  /styles
    /package1
      package1.css
    /package2
      package2.css
您应该尝试与grunt bower安装一起使用。您可以将bower配置为将复制文件安装到特定文件夹。它将如下所示:

   bowerInstall: {
      target: {
        src: ['wwwroot/index.html'],
        cwd: '',
        dependencies: true,
        devDependencies: true,
        exclude: [],
        fileTypes: {},
        ignorePath: '',
        overrides: {}
      }
    }
bower: {
  dev: {
    dest: 'lib/',
    js_dest: 'lib/js',
    css_dest: 'lib/styles'
  }
}
然后,如果运行该任务:

grunt bower
您的
lib
文件夹中将有类似的内容:

  /js
    /package1
      package1_file1.js
      package1_file2.js
    /package2
      package2.js
  /styles
    /package1
      package1.css
    /package2
      package2.css

这需要我的bower_components文件夹放在我的lib文件夹下,不是吗?这需要我的bower_components文件夹放在我的lib文件夹下,不是吗?我正在尝试,副本似乎很好用,现在我只需要让bower安装从这里而不是本地bower_components文件夹中提取组件。你知道怎么做吗?是的,如果你把它添加到你的
bower.json
{directory:“lib”}中,你应该准确地更改
bower.json
中的目录
当你运行grunt bowerInstall时,它会从这个文件夹中得到我还没有测试过的,但是我认为你也可以将
目录添加到你的bowerInstall grunt配置中,比如
bowerInstall:{…,目录:'lib'}
我试着将lib路径添加到bower.json文件中,但这似乎不起作用,在我的grunt文件中将目录添加到bowerInstall配置中也是如此。我正在尝试,而且副本似乎工作得很好,现在我只需要让bower install从这里而不是本地bower_components文件夹中提取组件。你知道怎么做吗?是的,如果你把它添加到你的
bower.json
{directory:“lib”}中,你应该准确地更改
bower.json
中的目录
当你运行grunt bowerInstall时,它会从这个文件夹中得到我还没有测试过的,但是我认为你也可以将
目录添加到你的bowerInstall grunt配置中,比如
bowerInstall:{…,目录:'lib'}
我试着将lib路径添加到bower.json文件中,但这似乎不起作用,在我的grunt文件中将目录添加到bowerInstall配置中也是如此。