Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Configuring Yeoman for building non-root projects

I might be missing something obvious, but i really can't figure it out by going over the docs and issues on GitHub -

I'm developing an AngularJS project that will be deployed on a specific sub-directory on the server (i.e not the root). I'm using Yeoman.io, and trying to configure it so the app is self-contained and doesn't rely on absolute paths like '/images' and so on. Every attempt to mess around with the Grunt file or Compass config ends up with a broken build. Paths of images and sprites are wrong - sometimes it's a wrong directory and sometimes wrong filename (no revision prefixes).

Anyone had good experience with that?

like image 401
Hovav Oppenheim Avatar asked Nov 12 '22 17:11

Hovav Oppenheim


1 Answers

So if I understand you correctly, you want to serve your angular project on a specific path on system.

In grunt.js, I've registered a server task which starts my (local) server:

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 contains the server config:

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')));
});

In my example I serve the project on directory dist, but this can be anything.

like image 101
asgoth Avatar answered Nov 28 '22 02:11

asgoth