File structure:
- simulated-selves
- client
- directives
- Statement
- statement.directive.html
- lib
- server
- app.js
- index.html
I have:
app.use(express.static('client'));
app.use(express.static('lib'));
My assets that I'm loading in index.html are being loaded properly.
<link rel='stylesheet' href='assets/app.css' />
<script src='angular.js'></script>
<script src='app.js'></script>
<script src='controllers/main.controller.js'></script>
<script src='directives/Statement/statement.directive.js'></script>
<script src='providers/statement.factory.js'></script>
But I'm getting this error:

Why is this? statement.directive.html is nested within the client folder, which is being dealt with by express.static. I know it's not nested directly underneath client, but neither are a bunch of my other assets that are being loaded properly. The only difference I see is using <script>/<link/> vs. an HTTP request. If that's the problem, I'm not sure how I'd get around it other than setting up an endpoint for each asset, which seems very excessive.
Side question: is it bad to serve the lib folder via express.static? I wouldn't think so because they're all publicly accessible. I'm not sure how else I'd be able to serve the files in that folder without writing explicit GET endpoints for each one.
EDIT: My png files aren't being served either. They're under client > assets > images.