【问题标题】:How to use my own option configurations for concat and uglify with grunt-usemin如何使用我自己的选项配置进行 concat 和 uglify 与 grunt-usemin
【发布时间】:2014-04-06 13:31:57
【问题描述】:

例如:我使用下面的当前配置来uglify我的 Gruntfile 中的 JS 脚本:

    uglify: {
        options: {
            report: "min", //"gzip",
            sourceMap: true,
            preserveComments: false, //"some", "all"
        },
        application: {
            options: {
                // expand: true,
                banner: '<%= app.banner %>',
                preserveComments: "some"
            },
            src: 'dist/js/application.js',
            dest: ".tmp/js/application.min.js"
        },
        dependencies: {
            options: {
                sourceMap: false
            },
            src: ['dist/js/dependencies.js'],
            dest: ".tmp/js/dependencies.min.js"
        },

我知道 grunt-usemin 从useminPrepare gruntfile 选项中声明的 html 文件中的代码块生成 srcdest 选项,例如:

    <!-- build:js js/app.js -->
    <script src="js/app.js"></script>
    <script src="js/controllers/thing-controller.js"></script>
    <script src="js/models/thing-model.js"></script>
    <script src="js/views/thing-view.js"></script>
    <!-- endbuild -->

那么我如何配置grunt-usemin 以使用这些相同的选项,例如bannersourceMap: false 和生成的文件块,我已经阅读了通常在 github 或 NPM 注册表中给出的快速文档,但似乎没有找到一个可靠的答案。

【问题讨论】:

    标签: javascript node.js gruntjs grunt-usemin


    【解决方案1】:

    文档中有一句话很重要:

    此外,useminPrepare 动态生成 concat、uglify 和 cssmin 的配置。重要提示:您仍然需要手动管理这些依赖项并调用每个任务。

    原则是只声明你想在你想要的所有主要任务中使用usemin(在grunt register任务中):concat,uglify... 默认情况下,Usemin 将根据您的 registertask 选项和 html 标记 cmets 创建所有这些任务,而无需再声明。

    代码胜于文字:

    1. 表达您的块标记目标文件。在你的情况下 类似:
         <!-- build:js js/app.min.js -->
         <script src="js/app.js"></script>
         <script src="js/controllers/thing-controller.js"></script>
         <script src="js/models/thing-model.js"></script>
         <script src="js/views/thing-view.js"></script>
         <!-- endbuild -->
    

    2 - 注册您希望 usemin 为您生成的任务 在运行时(它不会在您的文件中生成任何内容 - 应该在文档中精确说明的东西)。例如 :

    grunt.registerTask('缩小', [ 'useminPrepare' ,'连接' ,'cssmin' ,'丑化' ,'复制'
    ,'rev '使用' ])

    3 - 默认情况下,除了 useminPrepare 和 usemin 之外,所有这些任务都会生成(查看这两个块的文档grunt-usemin)。

    那么如果你想添加像sourcemap这样的特定选项,只需重写配置代码而不重新定义所有内容:

    丑化:{ 选项: { 源地图:假 } }

    希望对你有帮助。

    【讨论】:

      猜你喜欢
      • 2018-11-27
      • 1970-01-01
      • 2014-03-26
      • 2023-03-28
      • 1970-01-01
      • 2017-08-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多