首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带bower和grunt的Javascript包管理

带bower和grunt的Javascript包管理
EN

Stack Overflow用户
提问于 2013-06-20 11:58:06
回答 1查看 1.3K关注 0票数 2

因此,在我的项目中,我的javascript包括

  • 第三方库(jquery、引导程序、jquery插件等)
  • 自定义库
  • <script>$(function(){});</script>之间的html视图文件中嵌入内联的代码

相当标准的东西。

我的目标是找到一种可靠的自动化方法,将所有独立的javascript文件(大约25个文件)缩小到一个文件中进行生产。

我已经安装了bower,这似乎是保持外部库更新的一个好方法。我还安装了grunt。我在grunt中使用了一个bower插件,它将所有下载的文件复制到指定的目录中,然后concat可以查看该目录来组合它们,最后uglifyJS将文件小型化。同样,这似乎是一种标准的咕噜声设置。

bower插件将创建一个文件夹,如

代码语言:javascript
复制
vendorjs

 - bootstrap.js
 - jquery.js
 - etc

然后,concat将从这个dir中读取,并且由于文件是按字母顺序组合的,它们将以错误的顺序组合在jquery之前的引导,所以它将不再有用。

我知道RequireJS,但这似乎对我的需求来说太过分了。而且,我似乎还需要重写所有的js,以满足RequireJS的要求。

有什么配置是我遗漏的,可以帮助我解决问题吗?我是不是走错路了?

编辑,,这是我的Gruntfile.js,为了更清晰。

代码语言:javascript
复制
grunt.initConfig({
    pkg: grunt.file.readJSON('package.json'),
    bower: {
        dev: {
            dest: 'vendorjs',
            options: {
                stripJsAffix: true
            }
        }
    }
    concat: {
        options: {
            separator: ';'
        },
        dist: {
            src: ['vendorjs/*.js'],
            dest: 'vendor.js'
        }
    },
    uglify: {
        dist: {
            files: {
                '../../public/js/admin/vendor.min.js': ['vendor.js']
            }
        }
    }
});

};

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-06-20 12:32:58

我不知道您的配置是什么样子,但是您可以很容易地在grunt-cont肋骨-concat中指定文件的顺序:

代码语言:javascript
复制
grunt.initConfig({
  concat: {
    dist: {
      src: ['src/jquery.js', 'src/bootstrap.js'],
      dest: 'dist/built.js'
    }
  }
});
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17213065

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档