Question: [here is the image](http://i.stack.imgur.com/eHAoo.png) I want to add a bootstrap **caret** class in my select dropdown menu.

```css
.select_menu{
  font-size: 12px;
  outline: none;
  border: thin #ddd solid;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: #F7F7F7;
}
```

```html
<select class="form-control select_menu" style="">
    <option>Click here to select purpose</option>
    <option>Option 1</option>
    <option>Options 2 </option>
</select>
```

I have used bootstrap form-control. How can I add caret to select dropdown menu.

Answer: 
None of the answers worked properly for me. And if it worked, the Angular routing did not work on reload.  

 So this is how I solved it. Angular routing works even on full page reload.

```
function getRoot(request, response) {
   response.sendFile(path.resolve('./public/angular/index.html'));
}

function getUndefined(request, response) {
   response.sendFile(path.resolve('./public/angular/index.html'));
}

// Note the dot at the beginning of the path
app.use(express.static('./public/angular'));

app.get('/', getRoot);
app.get('/*', getUndefined);

```

> 
> **NO angular base-href rewrite is required! Just use `ng build` or `ng build --prod`.**
> 
> 
>
Based on @NTN-JAVA answer, here's a solution to serve an Angular app from NodeJS server.

Here's the summary from beginning:

1. `npm install -g @angular/cli`
2. `ng new PROJECT_NAME`
3. `cd PROJECT_NAME`
4. `npm install nodemon express cookie-parser body-parser morgan method-override --save`

5.Create `app.js`:

```
var express = require('express');
var app = express();
var morgan = require('morgan');
var bodyParser = require('body-parser');
var port = process.env.PORT || 3000;
var methodOverride = require('method-override'); // simulate DELETE and PUT (express4)
var router = express.Router();

console.log('——————————- Run on port '+ port);

/****************************** Router ***************************/
router.get('*', function(req, res){
    res.sendFile('index.html', { root: __dirname + '/' });
});

/****************************** /Router ***************************/

//app.use(morgan('dev')); // log every request to the console
app.use(express.static(__dirname + '/')); // Static (public) folder

app.use(bodyParser.urlencoded({extended:true}));// get information from html forms
app.use(bodyParser.json());
app.use(bodyParser.json({ type: 'application/vnd.api+json' }));
app.use(methodOverride());
app.use('/', router); // app.use('/parent', router); call all from localhost:port/parent/*

app.listen(port);

```

6. Edit `package.json` file:

```
{
   ...
    "scripts": {
        "start": "ng build; cp app.js dist/app.js; node dist/app.js",
    }
   ...
}

```

7. Run `npm start`

This answer also offers a solution for calling direct URLs from browser and resolving them correctly in your app.