【问题标题】:Build for js environment without npm?为没有 npm 的 js 环境构建?
【发布时间】:2017-01-27 16:41:05
【问题描述】:

我们目前正在使用带有 grunt 的 nodejs 构建我们的前端 js 代码库 (angularjs),这似乎是一种流行的设置,但我们对这个解决方案并不满意。有没有人对构建设置有建议,例如linting,最小化我们的 js,运行更少等等(除了一些自定义的 angular 和特别是我们的应用程序的步骤)根本不使用 nodejs?

我会保留它以避免引发一场激烈的战争,但在我们看来,以下是当前设置的一些缺点:

  • grunt 甚至没有 1970 年代构建系统的基本功能,例如仅根据文件修改时间自动重新构建已修改的文件

  • 在每次构建时,npm 都会导致我们的构建服务器上运行不断令人头疼

【问题讨论】:

    标签: javascript node.js build npm gruntjs


    【解决方案1】:

    如果 grunt 连 1970 年代构建系统的基本功能都没有,那你为什么不使用 1970 年代的构建系统呢?

    如果您对此感到满意,请使用 make。它仍然可以正常工作。如果您对它的工作方式感到满意,就没有理由不使用它。

    【讨论】:

    • 谢谢。我正在考虑制作,但想知道特定于 JS 的步骤,例如缩小和 linting。现在我正在考虑使用 make 和 google 闭包编译器来缩小和 eslint(在节点中运行,但使用 npm install -g 全局安装)。此外,grunt 的一件好事是观看文件,而 make 本身并不这样做。
    • @jssebastian 您可以随时使用while true; do make --silent; sleep 5; done 或类似的东西与make。您可以从 make 运行每个命令,包括缩小、linting 等。使用make checkmake test 可能会更好,但您可以定义所有目标。实际上 make 比大多数人意识到的要强大得多,它的优点是它是跨平台的,不仅可以在任何地方使用,而且您可以将它用于每种语言。
    • 一位同事基于 inotifywait 编写了一个简单的 shell 脚本,如果有更改将触发 make,但可能仅适用于 linux。
    猜你喜欢
    • 1970-01-01
    • 2016-06-29
    • 2022-06-14
    • 1970-01-01
    • 2018-03-07
    • 1970-01-01
    • 1970-01-01
    • 2015-04-12
    • 1970-01-01
    相关资源
    最近更新 更多