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: 
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.
Step 1: In order to get static content, run this command in your angular app directory -

> 
> ng build --prod
> 
> 
> 

Step 2: The first step will create a **dist** folder in your current directory, move all files in the **dist** folder to **public** folder of your node app -

Step 3: Create a node server. App.js -

```
var path = require('path');
var express = require('express');
var cookieParser = require('cookie-parser');
var cookieParser = require('cookie-parser');

const allowedExt = [
    '.js',
    '.ico',
    '.css',
    '.png',
    '.jpg',
    '.woff2',
    '.woff',
    '.ttf',
    '.svg',
];

var app = express();
app.use(cookieParser());

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

function defaultHandler(request, response) {
  if (allowedExt.filter(ext => req.url.indexOf(ext) > 0).length > 0) {
    response.sendFile(path.resolve(`public/${req.url}`));
  } else {
    response.sendFile(path.resolve('./public/index.html'));
  }
}

app.use(express.json());
app.use(express.urlencoded({ extended: false }));
app.use(cookieParser());
app.use(express.static(path.join(__dirname, 'public')));

app.get('/', getAngularApp);
app.get('/*', defaultHandler);

// error handler
app.use(function(err, req, res, next) {
  // set locals, only providing error in development
  res.locals.message = err.message;
  res.locals.error = req.app.get('env') === 'development' ? err : {};
  // render the error page
  res.status(err.status || 500);
  res.render('error');
});

module.exports = app;

```