【问题标题】:CoffeeScript appending code to single .js fileCoffeeScript 将代码附加到单个 .js 文件
【发布时间】:2015-05-26 15:34:07
【问题描述】:

我想将新的 .coffee 文件附加到单个 .js 文件中。

现在我的项目结构是

咖啡/

--控制器/

----Ajax.coffee

--views /

----登录.coffee

--app.coffee

首先创建了文件 app.coffee,但是当我创建 Ajax.coffee 时,代码被添加到 app.js 文件中,因为它的结构更高。有没有办法代替附加代码?我真的很想使用编译为单个文件而不是加载需要加载的文件,但是前面的代码让人很头疼。

我正在使用 PHPStorm,它是观察者。

【问题讨论】:

标签: javascript compilation coffeescript phpstorm


【解决方案1】:

您可以使用 grunt 作为构建工具来构建像您这样的项目。 Grunt 可以配置为监视、编译、缩小、丑化、测试甚至在更改时自动运行您的代码。最初的学习曲线可能有点陡峭,但你永远不会回头。

http://gruntjs.com/

【讨论】:

  • Grunt 只是一个观察者和编译器,它没有在任何地方说它做了我需要它做的事情,根据文件创建的时间而不是项目树中的结构附加代码.
  • 对不起,你错了。 Grunt 不是编译器,也不是简单的观察者! Apache ANT 或其他构建工具也不是。看看 grunt-contrib-coffee 会让你对处理咖啡文件有一个想法npmjs.com/package/grunt-contrib-coffeestackoverflow.com/questions/23905751/…spin.atomicobject.com/2013/05/13/javascript-front-end-grunt
  • 好的,我已经安装并让 grunt 运行了,但是无论我做什么,无论我使用什么参数,如果更新的文件在树中更高的话,它们会再次添加到 .js 文件中结构。
  • 我可以使它工作的唯一方法是将 app.coffee 文件放在一个 _core 文件夹中,该文件夹最终成为树中的第一个文件夹和文件,因此它的代码始终是第一个生成的 JS 文件。
  • 最后我不得不实际做 -> --compile --join bundle.js -- folder/core/ folder/controllers/ folder/views 这符合我的需要
【解决方案2】:

你应该试一试“蛋糕”。这是一个全面的咖啡构建系统。

您可以创建执行不同操作的构建任务,例如,将 cmets 留在生成的 JS 中的 build:dev 任务和从生成的 JS 中缩小、删除 cmets 等的 build:release 任务。

Here's the official documentation

【讨论】:

  • Cake 很简单,很快就会达到极限,不推荐使用。
  • @Exinferis,你能给我举一个蛋糕可能面临的问题的例子吗?因为我目前正在使用一个相对较小的项目(几十个咖啡文件和一些 scss 文件)的蛋糕。如果 grunt 比 cake 有明显优势,我可能会考虑改用 grunt。
猜你喜欢
  • 2018-11-30
  • 2011-12-06
  • 1970-01-01
  • 1970-01-01
  • 2012-07-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多