Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 客户端web应用程序的开发/构建工具_Javascript_Node.js_Coffeescript_Less_Npm - Fatal编程技术网

Javascript 客户端web应用程序的开发/构建工具

Javascript 客户端web应用程序的开发/构建工具,javascript,node.js,coffeescript,less,npm,Javascript,Node.js,Coffeescript,Less,Npm,我正在开发一个相当大的节点web应用程序,并意识到我的工作流程是次优的。服务器端代码被很好地组织到节点模块中。然而,应用程序中的大部分繁重工作都发生在客户端代码上 该项目由jade、less和javascript/coffeescript代码组成。此外,还有一堆来自库(jQuery、D3、Bootstrap等)的css/js包含。我正在寻找但很难找到的是一个很好的工具链,它可以帮助我组织我的项目并在开发和生产之间切换: 开发模式:在节点中动态编译jade、less和coffeescript,无

我正在开发一个相当大的节点web应用程序,并意识到我的工作流程是次优的。服务器端代码被很好地组织到节点模块中。然而,应用程序中的大部分繁重工作都发生在客户端代码上

该项目由jade、less和javascript/coffeescript代码组成。此外,还有一堆来自库(jQuery、D3、Bootstrap等)的css/js包含。我正在寻找但很难找到的是一个很好的工具链,它可以帮助我组织我的项目并在开发和生产之间切换:

  • 开发模式:在节点中动态编译jade、less和coffeescript,无需重建。将编译后的代码作为单独的文件包含到html中。在服务器端代码中设置一些调试参数

  • 生产模式:编译压缩并将代码组合成静态html/css/js的构建脚本(make/ant)

目前,我正在使用一些用于开发的节点服务器代码和用于生产的make文件进行大量手动操作,例如:

cat javascript/*.js > build/client.js
然而,这有点烦人,我根本不是制造/蚂蚁专家。问题的另一个来源是我为开发和生产维护单独的html文件,因为它们包含不同的css/js文件


是否有任何好的框架或示例项目可以帮助我改进我的工作流程?谷歌给了我诸如、、之类的东西,但我不太确定这些项目有多成熟,以及它们是否真的解决了我的问题或增加了复杂性。

我想看看。我们使用它来处理项目的部署和测试。

您还可以看看,它支持许多插件

根据网站,它支持以下,你也可以添加一个新的插件,如果你需要。。。
  • 编程语言:JavaScript、CoffeeScript、IcedCoffeeScript、LiveScript、Roy
  • 预编译模板:handlebar.js、Jade、Mustache、Eco
  • 样式:CSS、手写笔、LESS、Sass
  • 棉绒:JSHint,咖啡棉绒
  • Minifiers:uglify.js,clean css

    grunt是否也有助于开发环境?或者它只是一个构建工具?您能详细介绍一下如何使用它吗?对于开发环境,您可以使用grunt的watch函数
    grunt watch
    。然后在grunt配置文件中,您可以告诉它当文件被更改时要运行哪些任务。在开发环境中,我们经常使用监视任务。我发现它非常有用,因为有了手表,我可以告诉grunt在每次文件更改时运行我的提示和测试。使其适合快速错误检测。还请注意,对于提示,您可以有不同的“文件集”。您可以为节点脚本和浏览器脚本提供提示。