我应该将.coffee
文件存储在git中并使用一些git钩子在服务器端编译它们,还是应该将所有.coffee
和.js
文件存储在SCM中并忽略咖啡服务器
除了额外的SCM空间使用外,存储已编译的.js文件是否有任何缺点?我宁愿不必在每台服务器上安装node,npm和coffee。
答案 0 :(得分:1)
我见过的工作流程适用于Rails和Node。我目前的流程基于它们,看起来像:
/assets/src/coffee
/assets/js
中,并将其引用为/js/foo.js
/assets/lib
/assets/js
connect-coffee-script
是我最喜欢的人。 在我的回忆中,Rails中的过程非常相似。
除了额外的SCM空间使用外,存储已编译的.js文件是否有任何缺点?我宁愿不必在每台服务器上安装node,npm和coffee。
我认为没有充分理由将已编译的js放入源代码 - 您的中间件应该处理将咖啡变成js。我也认为在您的服务器上安装咖啡没有任何不利之处 - 您应该在构建过程中进行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
}));
值得注意的是,我在Windows 7上遇到了一些问题; node的文件观察者似乎有一些问题。所以在开发时我必须有一个运行命令窗口:coffee -o ./assets/js -wc ./assets/src/coffee
。