javascript - 有没有办法插入 "grunt build"专用的Javascript代码?

标签 javascript angularjs gruntjs

我正在使用 AngularJS 和 Grunt 构建一个应用程序,并且我有一行特定的代码,我只想在我的应用程序的“dist”版本中使用它,有没有办法告诉 grunt 删除该行代码,除非我运行“grunt build”?

angular
  .module('myModule', [
    'ngResource',
    'ngRoute',
    'ngSanitize'
  ])
  .config(['$routeProvider', '$locationProvider',function ($routeProvider, $locationProvider) {
    $routeProvider
      .when('/', {
        templateUrl: 'views/main.html',
        controller: 'MainCtrl'
      })

    $locationProvider.hashPrefix('!');

   /** Insert code if 'grunt build' **/
    $locationProvider.html5Mode(true);
  /** End of code inserted for build **/

}]);

最佳答案

您可以使用像 grunt-string-replace ( https://www.npmjs.org/package/grunt-string-replace ) 这样的任务,然后只需留下评论,然后将该评论替换为您想要的构建内容。

options: {
  replacements: [{
    pattern: '// insert code here',
    replacement: '$locationProvider.html5Mode(true);'
  }]
}

关于javascript - 有没有办法插入 "grunt build"专用的Javascript代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25652406/

相关文章:

javascript - 如何从 RJS 模板更改 html 标签属性值?

angularjs - 如何在 Protractor 测试运行之前设置浏览器大小?

javascript - Grunt 文件默认将 nonull 设置为 true

javascript - 使用 angularJs 重定向 - 但仅限于 div/主元素内部

javascript - Angular 面包屑 : parent state's label is empty

npm - uncss和purifycss之间的区别

angularjs - 我遇到了 phantomjs 和 karma 问题

javascript - 避免按钮上的多次点击事件

javascript - MongoDB/NPM mongojs 包/更改一级深度数组

javascript - jQuery 无法在 WordPress 网站上运行