У меня фронтенд в отдельной репе и к серверу подключается как git submodule, в папку frontend. Сервер на express.
├── frontend <- сюда pull-ится фронтенд
├── bower_components
├── build <- здесь собранный gulp-ом фронтенд
├── docs
├── gulp
├── node_modules
├── src
├── bower.json
├── gulpfile.js
├── package.json
├── README.md
└── TODO.md
├── migrate
├── node_modules
├── server
├── VDS
├── frontend.sh
├── LICENSE
├── package.json
├── README.md
├── restart.sh
├── start.sh
├── stop.sh
└── TODO.md
Делаю так, чтобы отдавать статику:
const StaticPath = path.resolve(__dirname, '../frontend/build/');
// Указываем серверу из какой папки отдавать статику
app.use(express.static(StaticPath));
// Определяем путь к папке bower_components
app.use('/bower_components', express.static(path.join(__dirname, '../frontend/bower_components')));
// Определяем путь к папке node_modules
app.use('/node_modules', express.static(path.join(__dirname, '../frontend/node_modules')));
И просто подключаю файлы, как-будто папка bower внутри папки build
<link href="bower_components/font-awesome/css/font-awesome.min.css" rel="stylesheet">