这就是我想要的。
- 使用 express 网络服务器的节点应用程序
- 在服务器上使用咖啡脚本,更重要的是客户端
- 在客户端(最终在服务器上)使用 require.js
我能够找到为客户端连接咖啡脚本的推荐方法是使用connect-assets。这似乎需要使用玉助手来实际编译咖啡脚本,例如。
!=js('monalisa.js')
似乎编译 monalisa.coffee 并生成正确的<script>
标签。现在我想使用 require.js 在这里我绊倒了。如何确保 connect-assets 在不使用玉助手的情况下正确编译所有内容?
这是我相当简单的 app.js:
require('coffee-script');
var express = require('express')
, http = require('http')
, path = require('path')
, connectAssets = require('connect-assets');
var publicDir = path.join(__dirname, 'public');
var app = express();
app.configure(function(){
app.set('port', process.env.PORT || 3000);
app.set('views', __dirname + '/views');
app.set('view engine', 'jade');
app.use(express.favicon());
app.use(express.logger('dev'));
app.use(express.bodyParser());
app.use( connectAssets() );
app.use('/public', express.static(publicDir));
app.use(express.logger());
app.use(express.methodOverride());
app.use(app.router);
});
app.configure('development', function(){
app.use(express.errorHandler({
dumpExceptions: true,
showStack: true
}));
});
app.get('/', require('./routes').index);
app.get('/monalisa', require('./routes/monalisa').monalisa);
http.createServer(app).listen(app.get('port'), function(){
console.log("Express server listening on port " + app.get('port'));
});