Grunt不断删除我的绝对路径

时间:2014-02-12 08:10:12

标签: javascript angularjs gruntjs yeoman

我在index.html中引用了一些外部JS文件,如下所示:

<!-- build:js(app) /scripts/vendor.js -->
<!-- bower:js -->
<script src="/bower_components/jquery/jquery.js"></script>
<script src="/bower_components/angular/angular.js"></script>
<script src="/bower_components/jquery-ui/ui/jquery-ui.js"></script>
<!-- endbower -->
<!-- endbuild -->

每次运行grunt servegenerator-angular-fullstack)时,都会删除初始斜杠("/bower_components/...""bower_components/..."),这会破坏我的网页&gt; 1层次结构。

有快速解决方法吗?

4 个答案:

答案 0 :(得分:3)

来自https://github.com/stephenplusplus/grunt-bower-install/issues/43#issuecomment-33799772

'bower-install': {
  myTask: {
    fileTypes: {
      html: {
        replace: {
          js: '<script src="/{{filePath}}"></script>'
        }
      }
    }
  }
}

您可能必须取消并重新安装grunt-bower-install才能使用这种新型配置。您还应该考虑使用<base href="/">

答案 1 :(得分:3)

我正在使用angular-generator yo,这对我有用:

Gruntfile.js(第160行)

bowerInstall: {
  app: {
    src: ['<%= yeoman.app %>/index.html'],
    ignorePath: '<%= yeoman.app %>/',
    fileTypes: {
      html: {
        replace: {
          js: '<script src="/{{filePath}}"></script>',
          css: '<link rel="stylesheet" href="/{{filePath}}" />'
        }
      }
    }
  }
}

答案 2 :(得分:2)

不确定为什么我的bower-install配置看起来不同,但这就是我开始工作的方式:

原始设置:

'bower-install': {
    app: {
        html: '<%= yeoman.app %>/views/index.html',
        ignorePath: '<%= yeoman.app %>/',
        replace: {
            js: '<script src="/{{filePath}}"></script>'
        }
    }
},

变化:

        ignorePath: '<%= yeoman.app %>',

(删除结束斜杠)

答案 3 :(得分:1)

我遇到了同样的问题。原来我把基本标记放在样式表部分下面。一旦我把它放在上面,它就像一个魅力:

The memory is allocated in the read and write memory area in stack memory.