配置Yeoman以构建非根项目

时间:2012-11-13 21:35:08

标签: angularjs compass-sass gruntjs yeoman

我可能会遗漏一些明显的东西,但我真的无法通过浏览GitHub上的文档和问题来解决这个问题 -

我正在开发一个AngularJS项目,该项目将部署在服务器上的特定子目录中(即不是根目录)。 我正在使用Yeoman.io,并尝试配置它,以便应用程序是自包含的,不依赖于像'/ images'这样的绝对路径。 每次尝试使用Grunt文件或Compass配置都会导致构建中断。图像和精灵的路径是错误的 - 有时它是一个错误的目录,有时是错误的文件名(没有修订前缀)。

任何人都有很好的经验吗?

1 个答案:

答案 0 :(得分:1)

因此,如果我理解正确,您希望在系统上的特定路径上提供角度项目。

grunt.js 中,我注册了一个启动我(本地)服务器的服务器任务:

grunt.registerTask('server', 'Start server', function() {
    var done = this.async();
    var app = require('./app.js');
    var http = require('http');
    // Start server
    http.createServer(app).listen(app.get('port'), function () {
        console.log("Express server listening on port " + app.get('port'));
    }).on('close', done);
});

app.js 包含服务器配置:

var express = require('express'),
    path = require('path');

var app = module.exports = express();

// Configuration

app.configure(function () {
    app.set('port', process.env.PORT || 4000);
    app.use(express['static'](path.join(__dirname, 'dist')));
});

在我的示例中,我在目录 dist 上提供项目,但这可以是任何内容。