什么's是部署coffescription的首选工作流程

What's the preferred workflow for deploying coffescript?

本文关键字:coffescription 工作流程 部署 什么      更新时间:2023-09-26

我应该将.coffee文件存储在git中并使用一些git挂钩在服务器端编译它们,还是应该将.coffee.js文件都存储在SCM中并在服务器上忽略coffee?

除了额外占用SCM空间外,存储编译后的.js文件有什么缺点吗?我宁愿不必在每台服务器上安装node、npm和coffee。

我看到的工作流是针对Rails和Node的。我目前的流程是基于它们的,看起来像:

  1. 将.coffee文件保存在/assets/src/coffee
  2. 将编译后的.js文件保存在/assets/js中,并将其引用为/js/foo.js
  3. 将应用程序外部的.js文件(例如图形实用程序)保存在/assets/lib
  4. 从源代码管理中排除/assets/js
  5. 如果尚未编译coffeescript文件,请设置中间件以即时编译它们。connect-coffee-script是我最喜欢的一个

据我记忆所及,Rails中的过程非常相似。

除了额外占用SCM空间外,存储编译后的.js文件有什么缺点吗?我宁愿不必在每台服务器上安装node、npm和coffee。

我认为没有充分的理由将编译后的js放入源代码中——您的中间件应该处理将coffee转换为js的问题。我也认为在服务器上安装coffee没有任何缺点——你应该在构建过程中进行npm更新,这应该会解决问题

这是设置它的代码:

var app = express();
  ...
srcFolder = path.join(__dirname, 'assets', 'src', 'coffee');
publicFolder = path.join(__dirname, 'assets');

app.configure(function () {
  ...
app.use(require('connect-coffee-script')({
    src:srcFolder, dest:path.join(publicFolder, 'js'), force:true
}));

同样重要的是要注意,我在Windows7上运行时遇到了一些问题;node的文件查看器似乎存在一些问题。因此,在开发coffee -o ./assets/js -wc ./assets/src/coffee时,我必须有一个运行此命令的命令窗口。