gpt4 book ai didi

javascript - Grunt.js DEV 与 PROD 任务

转载 作者:行者123 更新时间:2023-11-29 19:43:47 25 4
gpt4 key购买 nike

刚开始学习一些 Grunt(以及替代方案 - gulp.js),我遇到了一些我自己似乎无法弄清楚的困惑。我了解如何为不同的环境定义不同的任务以提高效率和提高性能,但我遇到困难的地方在于如何利用这两种类型的任务。

问题 1: 假设我有一个 images 目录,我不想在开发期间在其上运行 grunt-contrib-imagemin ,但确实希望在生产期间运行它,以便“处理过的”图像位于 images/build 中。我如何在我的文件路径中考虑到这一点?有什么方法可以实现自动化吗?

问题 2:我不是开发人员,我对任何类型的服务器配置都没有什么经验,所以当人们说“运行 grunt build”时我很困惑在你的服务器上”。那会发生在哪里?这甚至可以在像 iPage 这样的廉价共享主机上实现吗?

我真的在尝试通过构建工具扩展我的知识,所以欢迎任何和所有建议或评论。感谢您抽出时间!

最佳答案

  1. 您需要为开发和生产指定不同的任务。有点像

    grunt.initConfig({
    imagemin: {
    dev: {
    // dev server minify config
    },
    prod: {
    // production server minify config
    }
    },
    devtask: {
    //Some task for development mode
    }
    });

    grunt.loadNpmTasks('grunt-contrib-imagemin');
    grunt.loadNpmTasks('devtask');

    grunt.registerTask('default', ['devtask']);
    grunt.registerTask('dev', ['devtask']);
    grunt.registerTask('prod', ['imagemin:prod']);

    现在,如果您在终端中输入“grunt dev”,grunt 只会运行“devtask”。只是 'grunt' 将运行 'default' 中列出的任务,这与 'grunt dev' 相同。

    如果您输入“grunt prod”,grunt 会运行 imagemin 任务的 prod 目标。

    所以现在 imagemin 只为生产运行。

    修改 imagemin 任务的 'src' 和 'dest' 属性以获取 'images/build' 中的输出。您可以指定“cwd”属性来告知文件路径。

  2. 要在服务器端执行这些操作,您需要 NodeJS。一些网络托管公司提供这种服务。您将需要检查您的。我通常只是在我的开发机器上执行 grunt 步骤,然后通过 ftp 将输出文件传输到服务器。此步骤也可以通过许多可用的 grunt ftp 插件由 grunt 完成。

关于javascript - Grunt.js DEV 与 PROD 任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21420363/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com