配置Yeoman以构建非根项目

Hov*_*eim 5 angularjs gruntjs yeoman compass-sass

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

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

有没有人有这方面的经验?

asg*_*oth 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);
});
Run Code Online (Sandbox Code Playgroud)

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')));
});
Run Code Online (Sandbox Code Playgroud)

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